我想将某些目录(如 /icons/)从 403 禁止更改为 404 未找到

我想将某些目录(如 /icons/)从 403 禁止更改为 404 未找到

我接受了安全检查并且必须解决这些问题。

我通过虚拟机(Ubuntu 16.04.3)使用apache2(Apache 2.4.18)来操作主页。

安全检查说访问~/icons/,,会得到响应状态代码 403(禁止),为了安全起见~/icons/small/~/javascript/我必须将它们更改为状态代码 404(未找到)。

因此,我添加.htaccess文件

RedirectMatch 404 /icons/
RedirectMatch 404 /icons/small/ 
RedirectMatch 404 /javascript/ 

但它不起作用......

实际上当我添加

RedirectMatch 404 /intro/

然后它起作用~/intro/

因此,我认为/icons//javascript/是不同的东西。

有人知道为什么以及如何处理吗?

/icons/别名为/usr/share/apache2/icons/,我改为

RedirectMatch 404 /usr/share/apache2/icons/

但它也不起作用......

答案1

首先,这本质上是保护你的安全。如果你使用任何资源,/icons/它的存在是显而易见的,404 不会改变这一点。403 表示服务器配置正确。

如果你真的想这么做,RedirectMatch这就是你要走的路。

RedirectMatch 404 ^/icons/$

对于 将返回 404 example.com/icons/,但不会example.com/icons/foo.png

RedirectMatch 404 ^/icons/.*$

也将返回example.com/icons/foo.png(以及图标中的任何其他文件)。

请注意,如果在浏览器的输出中直接引用了资源/icons/,这不会以任何方式提高安全性,因为很明显/icons存在这种情况。如果它们没有在输出中引用,而只是用作脚本的输入,则应考虑将它们移出 webroot。

相关内容