如何使用 Apache 拒绝所有文件?

Posted

技术标签:

【中文标题】如何使用 Apache 拒绝所有文件?【英文标题】:How Do I Deny All files with Apache? 【发布时间】:2019-03-23 05:20:11 【问题描述】:

我正在尝试将网站保护到 apache 上的内部 IP。

我目前有以下

deny from all
allow from xxx.xxx.xxx.xxx

这会阻止对主 index.html 的访问,所以如果我访问 www.mysite.com,它会按预期给出 403。

但是,如果我访问 www.mysite.com/login.php,则该页面仍会被提供(尽管没有 CSS 或图像)。然后我仍然可以登录该站点,使其暴露在外。再次登录后的所有页面都没有 css/图像。

如何阻止提供这些直接链接?

我已经尝试对文件标签内的 *.php 文件和文件标签内的 . 进行全部拒绝,但我遇到了同样的问题。

【问题讨论】:

Apache 2.2 还是 Apache 2.4? 您是否使用httpd.conf.htaccess 文件或虚拟主机定义来执行此操作 外面有人吗?要么有几个问题需要回答,要么如果回答对您有帮助,您需要接受! Apache 2.4,在 httpd.conf 和 .htaccess 中试过。 【参考方案1】:

试试这个:

<RequireAll>
    Require ip xx.xx.xx.xx yy.yy.yy.yy
</RequireAll>

【讨论】:

我得到了同样的效果。 尝试将该代码放入虚拟主机配置文件(/etc/apache2/sites-available/xxx.conf),然后重新启动apache。

以上是关于如何使用 Apache 拒绝所有文件?的主要内容,如果未能解决你的问题,请参考以下文章

烽火狼烟丨Apache Log4j2拒绝服务攻击(CVE45105)漏洞通告

Apache - 允许一个通配符 URL,拒绝所有其他请求

拒绝访问 Apache 上的 .svn 文件夹

Apache 说打开文件读取时出错:权限被拒绝

如何使用 Spring Security 仅接受 https 流量并拒绝所有 http 流量?

Apache 2.4.x ip 黑名单