在我的 Apache 配置文件httpd.conf
中,我有:
...
<Directory />
AllowOverride none
Require all denied
</Directory>
...
<Directory "D:/xampp/htdocs">
Require all granted
</Directory>
...
我通过查找此问题了解到,我应该在某处插入以下几行:
order allow,deny
allow from 127.0.0.1
deny from all
我不知道的是,与我的配置文件中已有的内容相关的确切位置。例如,我该如何处理“要求所有已授予”行?我是删除它,还是将这段代码粘贴到它上面?在它下面?其余的呢?
如果您只想限制对本地系统的访问(即:您不想理解
Order
//指令Allow
)Deny
,那么以下解决方案就足够了,并且是“正确的解决方案”。您应该将套接字绑定到
127.0.0.1
而不是0.0.0.0
(默认情况下使用) - 这样只有本地系统能够连接,并且限制是在套接字/操作系统级别执行的,而不是在 Apache 内。为此,请使用该
Listen
指令 - 例如,在您的配置中替换Listen 80
为。Listen 127.0.0.1:80
这些
order allow, deny
指令是旧语法,应避免使用,因为在未来的 Apache 版本中可能会删除对它们的支持。您应该(例如)替换Require all granted
为 ex。Require ip 127.0.0.1
:您可以在此处
Require
阅读使用指令管理访问的基本概述。正如该问题的另一个答案中已经提到的,您可能希望考虑将您的
httpd.conf
Listen
指令绑定到127.0.0.1
:前任。httpd.conf
注意事项:
这也将阻止任何计算机或设备从您的本地网络连接。
127.0.0.1
只允许来自(运行 XAMPP 的计算机)的连接。这不会影响前。HTTPS(端口 443)。您需要将其单独指定(例如下
\conf\extra\httpd-ssl.conf
)为Listen 127.0.0.1:443
.更好的选择?
如果您正在进行本地开发并且不担心本地网络上的其他计算机或设备访问 XAMPP,则更简单/更好的选择可能只是不将 Internet 连接从路由器转发到 XAMPP。假设您的路由器并不糟糕,这应该(理想情况下)防止本地网络之外的任何人进行一般访问。