Ответ 1
Все, что вам нужно сделать, это отредактировать httpd-xampp.conf
from Требовать локальные до Требовать все предоставленные в теге LocationMatch.
Что это!
Я загрузил и установил XAMPP 1.8.1 для Windows в Windows 7 Ultimate. Я установил 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>
Кто-нибудь знает, что мне не хватает?
Все, что вам нужно сделать, это отредактировать httpd-xampp.conf
from Требовать локальные до Требовать все предоставленные в теге LocationMatch.
Что это!
В новом Xampp
Все, что вам нужно сделать, это отредактировать файл:
C:\XAMPP\Apache\конф\экстра\HTTPD-xampp.conf
и перейдите в тег Directory, как показано ниже:
< Справочник "C:/xampp/phpMyAdmin" >
а затем измените
Требовать локальные
Для
Требовать все предоставленные
в теге Directory.
Перезапустите Xampp. Что это!
Требовать, чтобы все предоставленные мне показалось немного для меня. Посмотрев документацию, которую я использовал: 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>
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Удачи!!!!
Попробуйте переустановить новую версию XAMPP. Найдите "<Directory "C:/xampp/php">
", а затем перейдите к чему-то вроде этого
<Directory "C:/xampp/php">
AllowOverride AuthConfig Limit
Order allow,deny
Allow from all
Require all granted
</Directory>
Вам нужно будет отредактировать 2 файла - 1. httpd-vhosts.conf и 2. httpd-xampp.conf
ПРИМЕЧАНИЕ. Убедитесь, что u резервные файлы (httpd-xampp.conf) и ( httpd-vhosts.conf), оба файла находятся в Привод:\XAMPP\Apache\конф\дополнительный
Откройте файл httpd-vhosts.conf и в нижней части файла измените его
<VirtualHost *:80>
DocumentRoot "E:/xampp/htdocs/"
ServerName localhost
<Directory E:/xampp/htdocs/>.
Require all granted
</Directory>
</VirtualHost>
Здесь E:/xampp - это мое рабочее пространство проекта, вы можете изменить его в соответствии с вашими настройками
а Second Change - в файле 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>
Прокомментируйте строку Требовать локальный адрес в httpd-xampp.conf.
Перезапустить Apache.
Работал для меня, подключая мой мобильный телефон к моему тестовому веб-сайту на моем ПК.
Не знаю последствий для безопасности.
Чтобы получить доступ к запрашиваемому каталогу, отличному от локальной, вам необходимо изменить XAMPP security concept
настроенную в файле "httpd-xampp.conf".
xampp\apache\conf\extra\httpd-xampp.conf
Требовать директиву Выберите, какие аутентифицированные пользователи могут получить доступ к ресурсу
Синтаксис "
Require entity-name [entity-name]...
Из "Концепции безопасности XAMPP допускается только локальная среда - требуется локальная
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require local
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
"Концепция безопасности XAMPP позволяет любой среде - требовать все предоставленные
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Доступ запрещен! сообщение с HTML-страницы.
Разрешить директивные элементы управления, которым хосты могут обращаться к области сервера
Синтаксис "
Allow from all|host|env=[!]env-variable [host|env=[!]env-variable]...
Разрешить только локальную среду. Используя любой из указанных ниже URL-адресов.
http://localhost/phpmyadmin/
http://127.0.0.1/phpmyadmin/
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Разрешено указывать только адресные пространства IPv4, IPv6.
fe80:: /10
Уникальный локальный адрес (ULA) - это IPv6-адрес в блоке fc00:: /7
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8 \
fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \
fe80::/10 169.254.0.0/16
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
Разрешение любого сетевого адреса. Разрешить от всех
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Allow from all
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</LocationMatch>
404 - Панель управления XAMPP: невозможно запустить HTTP-сервер Apache.
URL: http://localhost/xampp/index.php
Error «
Not Found
HTTP Error 404. The requested resource is not found.
Обязательный порт HTTP-сервера HTTP Apache по умолчанию фактически используется другой службой.
Вам нужно найти службу, запущенную с портом 80, и остановить службу, а затем запустить HTTP-сервер Apache.
Используйте Netstat для отображения активных TCP-соединений, портов, на которых компьютер прослушивает.
C:\Users\yashwanth.m>netstat -ano
Active Connections
Proto Local Address Foreign Address State PID
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2920
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING 1124
TCP 127.0.0.1:5354 0.0.0.0:0 LISTENING 3340
TCP [::]:80 [::]:0 LISTENING 2920
C:\Users\yashwanth.m>netstat -ano |findstr 2920
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING 2920
TCP 0.0.0.0:443 0.0.0.0:0 LISTENING 2920
TCP [::]:80 [::]:0 LISTENING 2920
TCP [::]:443 [::]:0 LISTENING 2920
C:\Users\yashwanth.m>taskkill /pid 2920 /F
SUCCESS: The process with PID 2920 has been terminated.
Измените порт прослушивания с основного файла конфигурации сервера HTTP Apache D:\xampp\apache\conf\httpd.conf
. Пример: 81
. From Listen 80
Чтобы Listen 81
, URL-адрес доступа будет http://localhost:81/xampp/index.php
.
# Change this to Listen on specific IP addresses as shown below to
# prevent Apache from glomming onto all bound IP addresses.
#
#Listen 0.0.0.0:80
#Listen [::]:80
Listen 80
Для получения дополнительной информации о httpd and virtual host on XAMPP
просто удалите:
Alias /phpmyadmin "C:/xampp2/phpMyAdmin/"
<Directory "C:/xampp2/phpMyAdmin">
AllowOverride AuthConfig
Require all granted
</Directory>
и удалите phpmyadmin из:
<LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|server-status|server-info))">
Некоторые ответы верны, но в случае работы с новым xampp или с некоторыми не работающими другими ответами попробуйте следующее:
просто перейдите в папку xampp:
XAMPP/Apache/CONF/дополнительные/HTTPD-xampp.conf
и если вы пытаетесь получить доступ к локальному ip в вашей сети, измените его,
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
Require all granted
ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
</Directory>
Примечание: это только текст, поскольку безопасность xampp имеет некоторый поиск....
В вашем xampppath\apache\conf\extra открыть файл httpd-xampp.conf и найти тег ниже:
<LocationMatch "^/(?i:(?:xampp|licenses|phpmyadmin|webalizer|server-status|server-info))">
Order deny,allow
Deny from all
Allow from ::1 127.0.0.0/8
ErrorDocument 403 /error/HTTP_XAMPP_FORBIDDEN.html.var
и добавьте Allow from all
после Allow from ::1 127.0.0.0/8 {line}
Перезапустите xampp, и все готово.
Если вы используете новый XAMPP (например, для PHP 5.6, 7), который построен с установщиком "Bitnami", и он включает Apache 2.4.x, то это применимо:
https://httpd.apache.org/docs/2.4/upgrading.html#run-time
2.2 конфигурация:
Order allow,deny
Allow from all
2.4 конфигурация:
Require all granted
Это также относится к разделам VirtualHost, если у вас есть какие-либо пользовательские определения виртуальных хостов.
Ubuntu (Linux)
: - $sudo gedit/opt/lampp/etc/extra/httpd-xampp.conf
Comment "Deny from all" in the following section,
Изменить файл
# New XAMPP security concept # <LocationMatch "^/(?i:(?:xampp|security|licenses|phpmyadmin|webalizer|server-status|server-info))"> Order deny,allow #Deny from all #Require local Allow from ::1 127.0.0.0/8 \ fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 \ fe80::/10 169.254.0.0/16 ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
Для многих это проблема разрешения, но для меня оказывается, что ошибка была вызвана ошибкой в той форме, которую я пытался отправить. Чтобы быть конкретным, я случайно поставил знак " > " после значения "действие". Поэтому я бы предложил вам второй раз взглянуть на ваш код
Я пробовал все, но ничего не работало. Поэтому я просто использовал: chmod -R 777 для htdocs. По крайней мере, это только в моем местном.
Причиной этого может быть и Skype! Если вы используете настройки XAMPP по умолчанию, они оба будут работать на одном и том же порту (80). Вы можете:
G:\XAMPP\Apache\конф\экстра\HTTPD-vhosts.conf
#start block
NameVirtualHost *:80
<VirtualHost *:80>
ServerName localhost
#change your directory name
DocumentRoot "G:\xampp\htdocs"
</VirtualHost>
#Your vertual Host
<VirtualHost *:80>
DocumentRoot "G:/xampp/htdocs/dev2018/guessbook"
ServerName dev.foreign-recruitment
<Directory "G:/xampp/htdocs/dev2018/guessbook/">
</Directory>
</VirtualHost>
#end block
Это может быть из-за неправильной конфигурации, особенно если другие ваши сайты работают нормально.
<VirtualHost cmsdemo.git:88>
DocumentRoot "C:/Projects/rwp/"
ServerName cmsdemo.git
<Directory C:/Projects/cmsdemo/>
Require all granted
AllowOverride All
</Directory>
</VirtualHost>
Уведомление в DocumentRoot Я указываю одну папку, а в Каталоге я указываю другую, следовательно, 403 Ошибка. Это исправило мою проблему.
для тех, у кого есть проблемы при использовании xampp и IIS с использованием Windows,
проверьте панель xamp на apache, какой порт используется
Предположим, что Apache использует порт 81
, затем попробуйте это
http://127.0.0.1:81/
для меня работал как шарм, это может помочь кому-то в будущем