新的xampp安全概念:访问禁止错误403 - Windows 7 - phpMyAdmin

use*_*433 47 windows xampp phpmyadmin

我已经在Windows 7旗舰版上下载并安装了适用于Windows的XAMPP 1.8.1.我按照这些说明设置了XAMPP与IIS一起运行

到目前为止一切都很好,我的PHP站点在本地运行,除了phpMyAdmin之外的所有内容都可以在XAMPP菜单中找到.

但是,当我尝试访问phpMyAdmin时,我收到此错误:

访问被禁止!

新的XAMPP安全概念:

只能从本地网络访问所请求的目录.

可以在文件"httpd-xampp.conf"中配置此设置.

我通过Google和本网站上的一些人找到了几个答案.但是,到目前为止,我尝试过的解决方案都没有解决这个问题.

这是我的httpd-xampp.conf文件:

#
# XAMPP settings
#

<IfModule env_module>
    SetEnv MIBDIRS "C:/xampp/php/extras/mibs"
    SetEnv MYSQL_HOME "\\xampp\\mysql\\bin"
    SetEnv OPENSSL_CONF "C:/xampp/apache/bin/openssl.cnf"
    SetEnv PHP_PEAR_SYSCONF_DIR "\\xampp\\php"
    SetEnv PHPRC "\\xampp\\php"
    SetEnv TMP "\\xampp\\tmp"
</IfModule>

#
# PHP-Module setup
#
LoadFile "C:/xampp/php/php5ts.dll"
LoadModule php5_module "C:/xampp/php/php5apache2_4.dll"

<FilesMatch "\.php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch "\.phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>

#
# PHP-CGI setup
#
#<FilesMatch "\.php$">
#    SetHandler application/x-httpd-php-cgi
#</FilesMatch>
#<IfModule actions_module>
#    Action application/x-httpd-php-cgi "/php-cgi/php-cgi.exe"
#</IfModule>


<IfModule php5_module>
    PHPINIDir "C:/xampp/php"
</IfModule>

<IfModule mime_module>
    AddType text/html .php .phps
</IfModule>

ScriptAlias /php-cgi/ "C:/xampp/php/"
<Directory "C:/xampp/php">
    AllowOverride None
    Options None
    Require all denied
    <Files "php-cgi.exe">
          Require all granted
    </Files>
</Directory>

<Directory "C:/xampp/cgi-bin">
    <FilesMatch "\.php$">
        SetHandler cgi-script
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler None
    </FilesMatch>
</Directory>

<Directory "C:/xampp/htdocs/xampp">
    <IfModule php5_module>
        <Files "status.php">
            php_admin_flag safe_mode off
        </Files>
    </IfModule>
    AllowOverride AuthConfig
</Directory>

<IfModule alias_module>
    Alias /security "C:/xampp/security/htdocs/"
    <Directory "C:/xampp/security/htdocs">
        <IfModule php5_module>
            <Files "xamppsecurity.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require all granted
   </Directory>

    Alias /licenses "C:/xampp/licenses/"
    <Directory "C:/xampp/licenses">
        Options +Indexes
        <IfModule autoindex_color_module>
            DirectoryIndexTextColor  "#000000"
            DirectoryIndexBGColor "#f8e8a0"
            DirectoryIndexLinkColor "#bb3902"
            DirectoryIndexVLinkColor "#bb3902"
            DirectoryIndexALinkColor "#bb3902"
        </IfModule>
        Require all granted
   </Directory>

    Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
    <Directory "C:/xampp/phpMyAdmin">
        AllowOverride AuthConfig Limit
        Order allow,deny
        Allow from all
        Require all granted
    </Directory>

    Alias /webalizer "C:/xampp/webalizer/"
    <Directory "C:/xampp/webalizer">
        <IfModule php5_module>
            <Files "webalizer.php">
                php_admin_flag safe_mode off
            </Files>
        </IfModule>
        AllowOverride AuthConfig
        Require all granted
    </Directory>
</IfModule>

#
# New XAMPP security concept
#
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Order deny,allow
    Allow from all
    Require all granted

    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

有没有人知道我错过了什么?

小智 84

您所要做的就是编辑httpd-xampp.conf

需要本地需要在LocationMatch标记中授予所有权限.

而已!

  • 您应该在更新后停止/重新启动Apache (5认同)
  • 找不到这样的标签,LocationMatch 标签 (4认同)
  • 您可能还需要注释掉:**拒绝所有**并添加:**允许来自LocationMatch标记下的所有** (2认同)

The*_*uja 25

在新Xampp

您所要做的就是编辑文件:

C:\ XAMPP的\ apache的\的conf \额外\的httpd-xampp.conf

并转到目录标记如下:

<目录"C:/ xampp/phpMyAdmin">

然后改变

需要本地

要求全部授予

在目录标记中.

重启Xampp.而已!

  • 你好,我遇到了同样的问题,我将更改为“要求所有已授予”,但由于访问被禁止而出现错误,有任何更改吗?请需要帮助 (2认同)

Gun*_*ein 16

要求所有授予对我来说似乎有点远.查看我使用的文档:Require ip 192.168允许所有内部访问.

<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
    Require local
    Require ip 192.168
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)


gar*_*atu 12

    <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">

        Require all granted
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)

祝好运!!!!


Gre*_*ion 10

尝试重新安装新版本的XAMPP.找到" <Directory "C:/xampp/php">",然后改为这样的东西

<Directory "C:/xampp/php">
    AllowOverride AuthConfig Limit
    Order allow,deny
    Allow from all
    Require all granted
</Directory>
Run Code Online (Sandbox Code Playgroud)


Nik*_*tin 10

更新 XAMPP 7.3.*

如果您在最新的 XAMPP 中遇到与phpmyadmin相同的问题,就像我一样。

解决方案写在位于的官方文档中 [XAMPP IP]/dashboard/docs/access-phpmyadmin-remotely.html

要允许从其他主机远程访问 phpMyAdmin,请按照下列步骤操作:

  1. 通过双击安装的磁盘映像中的 XAMPP 图标启动堆栈管理器。
  1. 确保 Apache 和 MySQL 服务正在堆栈管理器的“服务”选项卡中运行(或根据需要启动它们)。
  1. 从堆栈管理器的“常规”选项卡中打开一个新终端。
  1. 编辑 /opt/lampp/etc/extra/httpd-xampp.conf 文件。
  1. 在这个文件中,找到块 <Directory "/opt/lampp/phpmyadmin">

更新此块并替换Require localRequire all granted

  1. 保存文件并使用堆栈管理器重新启动 Apache 服务。

第 (4) 节注意事项要编辑此文件,请确保已安装vim

如果您的计算机连接到网络,则第 (5) 节的注意事项而不是允许访问所有人,这是非常不安全的。一种更安全的方法是限制对@Gunnar Bernstein 建议的仅一组 IP 的访问。

就我而言,我做了:

<Directory "/opt/lampp/phpmyadmin">
  AllowOverride AuthConfig Limit
  Require local
  Require ip 192.168
  ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Run Code Online (Sandbox Code Playgroud)

  • 这就像一个魅力!在这个解决方案之前浪费了几个小时:D 谢谢 (2认同)

小智 9

您将需要编辑2个文件 - 1. httpd-vhosts.conf和2. httpd-xampp.conf

注意:确保您备份文件(httpd-xampp.conf)和(httpd-vhosts.conf),两个文件都位于Drive:\ xampp\apache\conf\extra中

打开httpd-vhosts.conf文件并在文件底部更改它

<VirtualHost *:80>
DocumentRoot “E:/xampp/htdocs/”
ServerName localhost
<Directory E:/xampp/htdocs/>.
Require all granted 
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这里E:/ xampp是我的项目工作区,您可以根据您的设置进行更改

和第二次更改是在httpd-xampp.conf文件上,并在文件的底部更改它

#
# New XAMPP security concept
#
<LocationMatch “^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))”>
Order deny,allow
Allow from all
Allow from ::1 127.0.0.0/8
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Run Code Online (Sandbox Code Playgroud)