重定向到404页面从403页面
将403 HTTP状态返回码重定向到404
为什么?
403(禁止)HTTP status code 提供了一个关于正确路径的线索,但您没有访问权限。这证实了文件/文件夹的存在并且受到限制。
因此,403允许黑客了解您的文件系统结构以及security vulnerabilities的空间。
将403返回码重定向到404(未找到)是一个好主意,这样就没有猜测的空间了。这通常在支付行业或事务应用程序生产系统中要求实现。
有多种方法可以完成这个任务,接下来我将在Apache HTTP、Nginx中进行说明。
注意:在修改之前备份必要的配置文件。如果可能,请先在非生产环境中进行测试。
Apache HTTP
我们将使用ErrorDocument
指令来实现这一点
- 在
DocumentRoot
级别创建一个文件,该文件将被用作404 - 我们将文件命名为404
- 在httpd.conf文件中添加以下内容
ErrorDocument 403 /404
上面的指令告诉Apache只要出现403错误,就提供/404文件。
- 保存配置文件并重新启动Apache以进行测试
Nginx
让我们使用error_page
指令来完成这个任务
- 创建名为404.html的文件
- 在Nginx配置文件的
server
部分中添加以下内容
error_page 404 /404.html; error_page 403 =404 /404.html;
上面的第一行表示当文件不存在时,Nginx将提供/404.html;第二行表示在请求的资源返回403时,将提供/404.html。
WordPress
您可以使用Custom Error Pages插件来设置自定义页面,用于401和403状态码。
希望对您有所帮助。如果您有兴趣学习Web安全,我建议您查看这个course。