PhpMyAdmin 错误:403 被禁止

Posted

技术标签:

【中文标题】PhpMyAdmin 错误:403 被禁止【英文标题】:PhpMyAdmin error: 403 forbidden 【发布时间】:2017-01-26 05:20:30 【问题描述】:

我安装了 phpmyadmin,但是当我在网站上时:ip/phpmyadmin 我尝试登录,但我无法登录,它不会重定向我,所以我将其删除并重新安装。

从那时起,我什至无法连接到该站点。在 /etc/httpd/phpMyAdmin.conf 文件中,我已经添加了四次 ips,就像这样......

# phpMyAdmin - Web based mysql browser written in php
# 
# Allows only localhost by default
#
# But allowing phpMyAdmin to anyone other than localhost should be considered
# dangerous unless properly secured by SSL

Alias /phpMyAdmin /usr/share/phpMyAdmin
Alias /phpmyadmin /usr/share/phpMyAdmin

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

<Directory /usr/share/phpMyAdmin/setup/>
   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
      Allow from 127.0.0.1
     Allow from ::1
    </IfModule>
</Directory>

# These directories do not require access over HTTP - taken from the original
# phpMyAdmin upstream tarball
#
<Directory /usr/share/phpMyAdmin/libraries/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/lib/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

<Directory /usr/share/phpMyAdmin/setup/frames/>
    Order Deny,Allow
    Deny from All
    Allow from None
</Directory>

# This configuration prevents mod_security at phpMyAdmin directories from
# filtering SQL etc.  This may break your mod_security implementation.
#
#<IfModule mod_security.c>
#    <Directory /usr/share/phpMyAdmin/>
#        SecRuleInheritance Off
#    </Directory>
#</IfModule>

当我重新启动 apache 时,# service httpd restart,然后进入网站仍然显示

禁止

您无权访问此服务器上的 /phpMyAdmin/。

Apache/2.2.15 (CentOS) 服务器位于 6gem.pw 端口 80

我找不到任何修复方法,请帮忙。

【问题讨论】:

出于目的,到目前为止,我还没有在网站上包含我的 IP。但在实际文件中,我添加了我的 IP。我运行它所有的 vps,所以我添加了我的计算机 IP 首先我会检查'/usr/share/phpMyAdmin'文件夹的权限。 网络服务器错误日志说明您拒绝的连接尝试是什么? 堆栈上有大量的解决方案,例如:***.com/questions/23235363/… 【参考方案1】:

我遇到了同样的问题,在这里分享正确的解决方案:

要在 phpMyAdmin 目录设置中允许来自所有 ips 的连接,您应该像这样更改代码:

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require all granted   # Add This to skip other requirements
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Allow,Deny  # change order to first apply allows, then deny
     Allow from All    # change this from deny to allow from all
     Allow from 127.0.0.1
     Allow from ::1
     Deny from 47.23.165.43  # Bad IPs which should be blocked
   </IfModule>
</Directory>

但如果您希望能够拒绝某些 ip 并接受 apache 2.4 的所有其他 ip,请将 # Apache 2.4 &lt;RequireAny&gt; 部分更改为:

 # Apache 2.4
 <RequireAll> # change requirement to check all parameters
   Require all granted          # Add This to allow all requests
   Require not ip 47.23.165.43  # Bad IPs which should be blocked
   Require not ip 43.80         # Bad IPs which should be blocked
   Require not ip other.bad.ips # Bad IPs which should be blocked
 </RequireAll>

【讨论】:

【参考方案2】:

编辑您的 phpMyAdmin 配置文件:

vim /etc/httpd/conf.d/phpMyAdmin.conf

然后将所有“拒绝全部”更改为“拒绝无”和“允许无”更改为“全部允许”。 这应该工作:)

【讨论】:

【参考方案3】:

这在 CentOS 7 下适用于我。

假设你已经用 yum 安装了 phpmyadmin。

首先,通过在浏览器中加载http://localhost/phpmyadmin 来检查本地主机。 如果您收到禁止消息,可能是因为未安装 php。 就我而言,我删除了 phpmyadmin 安装,安装 php 并再次安装 phpmyadmin: (作为根) 百胜删除 phpmyadmin 百胜安装php 百胜安装 phpmyadmin 服务 httpd 重启

这些步骤解决了本地计算机中的问题。

现在,如果您想为另一台机器(即 192.168.1.10)添加权限,请编辑 /etc/httpd/conf.d/phpMyAdmin.conf。默认情况下,它只允许 localhost 访问。

<Directory /usr/share/phpMyAdmin/>
   AddDefaultCharset UTF-8

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       Require ip 127.0.0.1
       Require ip ::1
       Require ip 192.168.1.11
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     Order Deny,Allow
     Deny from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

重启httpd服务: 服务 httpd 重启

【讨论】:

【参考方案4】:

在我的服务器上,在发布 sql 查询后,security2_module 阻止了请求。

为 phpmyadmin 文件夹设置 SecRuleEngine Off 对我有用:

<Directory /usr/share/phpMyAdmin/>
    ...

    <IfModule security2_module>
        SecRuleEngine Off
    </IfModule>
    ...
</Directory>

【讨论】:

【参考方案5】:

您是否也执行了以下操作?这对我有帮助:

    mkdir /usr/share/phpMyAdmin/tmp

    chmod 777 /usr/share/phpMyAdmin/tmp

    chown -R apache:apache /usr/share/phpMyAdmin
    
    yum install -y policycoreutils-python-utils
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpMyAdmin/'
    
    semanage fcontext -a -t httpd_sys_rw_content_t '/usr/share/phpMyAdmin/tmp(/.*)?'
    
    restorecon -Rv '/usr/share/phpMyAdmin/'

然后重启apache服务:systemctl restart httpd

【讨论】:

【参考方案6】:
Require local

Require all granted

然后重新启动 xampp 服务。

【讨论】:

以上是关于PhpMyAdmin 错误:403 被禁止的主要内容,如果未能解决你的问题,请参考以下文章

在 centOS 上运行 phpmyadmin - 禁止错误 (403)

如何解决 XAMPP PHPMyAdmin 403 禁止错误

phpmyadmin 错误 403 - 禁止拒绝 - 似乎与服务器的连接已丢失

从 PhpMyAdmin 中对 MySQL 列进行排序时出现 403 禁止错误?

Centos 7 phpmyadmin 403 禁止

WAMP 错误:禁止您无权访问此服务器上的 /phpmyadmin/