Подтвердить что ты не робот

PhpMyAdmin позволяет удаленным пользователям

Мне нужно изменить файл /etc/httpd/conf.d/phpMyAdmin.conf чтобы позволить удаленным пользователям (а не только локальным хостам) войти в систему

# 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/>
   <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>
4b9b3361

Ответ 1

Остальные ответы пока, похоже, защищают полную замену <Directory> блок, это не требуется и может удалить дополнительные настройки, такие как добавленный AddDefaultCharset UTF-8.

Чтобы разрешить удаленный доступ, вам нужно добавить 1 строку в блок конфигурации 2.4 или изменить 2 строки в 2.2 (в зависимости от вашей версии apache):

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

   <IfModule mod_authz_core.c>
     # Apache 2.4
     <RequireAny>
       #ADD following line:
       Require all granted
       Require ip 127.0.0.1
       Require ip ::1
     </RequireAny>
   </IfModule>
   <IfModule !mod_authz_core.c>
     # Apache 2.2
     #CHANGE following 2 lines:
     Order Allow,Deny
     Allow from All
     Allow from 127.0.0.1
     Allow from ::1
   </IfModule>
</Directory>

Ответ 2

используйте это, оно исправлено для меня, через centOS 7

<Directory /usr/share/phpMyAdmin/>
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Require all granted
</Directory>

Ответ 3

Замените содержимое первого тега <directory>.

Удалить

<Directory /usr/share/phpMyAdmin/>
 <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/>
 Order allow,deny
 Allow from all
</Directory>

Не забудьте перезапустить Apache.

Ответ 4

Попробуйте это

Заменить

<Directory /usr/share/phpMyAdmin/>
    <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/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Allow,Deny 
    Allow from all
</Directory>

Добавьте следующую строку для облегчения доступа:

Alias /phpmyadmin /usr/share/phpMyAdmin

Ответ 5

Просто прокомментируйте все строки в первом каталоге. Или вы можете удалить эти строки, но лучше сохранить на случай позже вы хотите добавить некоторые ограничения, вы раскомментируете.

#<Directory /usr/share/phpMyAdmin/>
#   <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>

Ответ 6

Моя настройка немного отличалась от XAMPP. в httpd-xampp.conf мне пришлось внести следующие изменения.

Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
    AllowOverride AuthConfig
    Require local
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>

измените на

Alias /phpmyadmin "C:/xampp/phpMyAdmin/"
<Directory "C:/xampp/phpMyAdmin">
    AllowOverride AuthConfig
    #makes it so I can config the database from anywhere
    Require all grant
    ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>

Мне нужно заявить, что я новичок в этом, поэтому я просто взламываю, но это то, как я начал работать.

Ответ 7

Мой ответ основан на получении ошибки 403, хотя все настройки Apache, упомянутые в других ответах, верны.

Это был свежий сервер Centos 7, и оказалось, что проблема не в настройках Apache, а в том, что PhpMyAdmin вообще не работал. Решением было установить php и добавить директиву php в apache.conf:

  • sudo yum install php php-mysql
  • vim/etc/httpd/conf/httpd.conf добавить что-то вроде
  • DirectoryIndex index.php index.phtml index.html index.htm для обслуживания файлов индекса php также а затем перезапустите apache

Не забудьте перезапустить сервер Apache, чтобы он вступил в силу  - systemctl restart httpd.service

Надеюсь, это поможет. Сначала я подумал, что мой вопрос - это директивы Apache, поэтому я размещаю свое решение здесь.