提问者:小点点

禁止:您没有权限访问/在此服务器上,WAMP错误


我已经在windows 8上安装了wamp,每当我转到localhost或phpmyadmin时都会收到上述错误。经过多次搜索,我找到了许多答案,其中包括修改httpd。conf toAllow from All等。此链接显示了这样一个常见的答案,并提供了更多信息。

我的问题是,许多人认为它允许所有用户访问phpMyAdmin,并且它不安全、易受攻击等。我想创建完全安全的WAMP服务器,如果我这样做可以吗?

有人能给我提供一些参考或信息吗?


共3个答案

匿名用户

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对我有帮助。