当 lighttpd 向用户显示文件 不可用时,它看起来并不美观。
在编写它时,我想确保不显示任何可能用于 XSS 攻击的信息,例如未编码地显示 URL、显示本地路径等等。我采用了最简单的方法:只显示状态。
这不美观,但能用。但我猜你想要更吸引人的东西。
有两种方法可以处理错误页面的输出。
- server.errorfile-prefix
- server.error-handler-404
第一种方法是使用本地的静态文件作为状态页面的内容。
- 创建一个目录
- 在该目录中放入一个名为
404.html
的文件 - 将 server.errorfile-prefix 设置为目录名,包括尾部斜杠
该文件必须是静态 HTML 文件(不支持 PHP 等)。思考 如果你已经有一套美观的错误页面,也许可以分享给其他用户。lighty 错误页面主题包。
另一种方法是使用错误处理程序,它只适用于文件未找到的情况。错误处理程序的工作是对请求进行智能处理。可能的用例包括:
- 使用 http://www.example.org/search%20term 作为搜索页面的直接入口,例如 https://php.ac.cn/upload
- 使用 http://www.example.org/cached-page 进行简单的缓存。如果请求的文件不存在,则让处理程序生成它。下一次请求将获得静态版本。
这使得它非常灵活。