我已经在windows 8上安装了wamp,每当我转到localhost或phpmyadmin时都会收到上述错误。经过多次搜索,我找到了许多答案,其中包括修改httpd。conf toAllow from All
等。此链接显示了这样一个常见的答案,并提供了更多信息。
我的问题是,许多人认为它允许所有用户访问phpMyAdmin,并且它不安全、易受攻击等。我想创建完全安全的WAMP服务器,如果我这样做可以吗?
有人能给我提供一些参考或信息吗?
1.
首先,端口80(或您正在使用的任何端口)和443必须同时允许TCP和UDP数据包。为此,在Windows防火墙上为端口80和443创建2个TPC和UDP入站规则。(或者,如果允许入站规则,您可以禁用整个防火墙进行测试,但永久解决方案)
2.
您需要更改Apache上的安全设置,以允许从其他任何地方进行访问,因此请编辑您的httpd.conf
文件。
将此部分更改为:
# onlineoffline tag - don't remove
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from ::1
Allow from localhost
致:
# onlineoffline tag - don't remove
Order Allow,Deny
Allow from all
如果“Allow from all”行不适用于您,那么使用“Require all grated”将适用于您。
在版本3和
使用菜单编辑httpd vhost。conf
文件。
应该是这样的:
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require local
</Directory>
</VirtualHost>
修改为
<VirtualHost *:80>
ServerName localhost
DocumentRoot D:/wamp/www
<Directory "D:/wamp/www/">
Options +Indexes +FollowSymLinks +MultiViews
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
注意:如果您运行的wamp不是端口80,那么VirtualHost将像VirtualHost*: 86。(86或端口,无论您使用)而不是VirtualHost*: 80
3.进行此更改后,不要忘记重新启动Wamp或Apache的所有服务
我发现最好的(也是最不令人沮丧的)方法是从Allow-from-All
开始,然后,当您知道它将以这种方式工作时,将其从127.0缩放回更安全的Allow。0.1
或允许来自::1
(本地主机)。
只要防火墙配置正确,Allow from all
就不会引起任何问题,但如果您不需要其他计算机来访问您的站点,最好只允许localhost。
当您对httpd进行更改时,不要忘记重新启动Apache。在下一次启动之前,它们不会生效。
希望这足以让你开始,网上有很多文档。
默认情况下,wamp将以下内容设置为任何未显式声明的目录的默认值:
<Directory />
AllowOverride none
Require all denied
</Directory>
对我来说,如果我把Require all denied
这一行注释掉,我就开始访问有问题的目录了。我不推荐这个。
相反,在目录指令中,我包括了要求本地
,如下所示:
<Directory "C:/GitHub/head_count/">
AllowOverride All
Allow from all
Require local
</Directory>
注意:当我只有来自所有的允许时,我的权限仍然被拒绝。添加
Require local
对我有帮助。