重定向到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

类似文章