Назад | Перейти на главную страницу

Блокировка строки запроса .htaccess phpmyadmin

После входа в систему phpmyadmin я получаю это сообщение об ошибке

Error in Processing Request
Error: 403
Error text: Forbidden"

Я обнаружил, что удаление следующих строк из .htaccess не вызывает ошибок

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} (\"|%22).*(<|>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (javascript:).*(\;) [NC,OR]
RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3) [NC,OR]
RewriteCond %{QUERY_STRING} (\\|\.\./|`|=\'$|=%27$) [NC,OR]
RewriteCond %{QUERY_STRING} (\;|\'|\"|%22).*(union|select|insert|drop|update|md5|benchmark|or|and|if) [NC,OR]
RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]
RewriteCond %{QUERY_STRING} (boot\.ini|echo.*kae|etc/passwd) [NC,OR]
RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC]
RewriteRule .* - [F]

Я уже пробовал закомментировать RewriteCond % строки 1 на 1, чтобы изолировать точную строку, но ничего не произойдет, если я не удалю весь блок. Есть ли способ исправить?

Если вы используете Apache 2.2 (вы не указали), временно добавьте это в конфигурацию вашего виртуального хоста (или httpd.conf):

RewriteLog /tmp/rewrite.log
RewriteLogLevel 3

Затем перезапустите Apache и получите доступ к странице, после чего снова появится эта ошибка. Затем вы можете отследить вывод в /tmp/rewrite.log чтобы увидеть, какой шаблон точно соответствует и приводит к ошибке 403.