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 <RequireAny>
部分更改为:
# 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 - 禁止拒绝 - 似乎与服务器的连接已丢失