На новом сервере моего веб-сайта, CentOS, когда я пытаюсь загрузить изображение через PHP, а имя файла содержит специальный символ, например «my'file.jpg», я получаю запрещенную страницу, и я даже не могу попытаться обработать ошибку через PHP
в файлах журнала я нахожу
ModSecurity: Access denied with code 403 (phase 2). Match of "eq 0" against "MULTIPART_STRICT_ERROR" required. [file "/etc/httpd/modsec/00_asl_zz_strict.conf"] [line "53"] [id "330793"] [rev "2"] [msg "Multipart request body failed strict validation: PE 0, BQ 0, BW 0, DB 0, DA 0, HF 0, LF 0, SM , IQ 1, IH 0, IP 0, FL 0"] [severity "CRITICAL"]
прежде чем обращаться в службу поддержки сервера, я хотел бы узнать, могу ли я отключить это правило для некоторых каталогов через .htaccess или через панель Plesk 12
Я попытался добавить это в .htaccess в корневую папку, найденную по аналогичному вопросу, но я получаю страницу с внутренней ошибкой сервера
<Directory /var/www/vhosts/mydomain.com/httpdocs/test-file-upl>
<IfModule security2_module>
SecRuleRemoveById 330793
</IfModule>
</Directory>
в журналах я нашел
[core:alert] /var/www/vhosts/mydomain.com/httpdocs/.htaccess: <Directory not allowed here
ошибка появляется, даже если я удалю часть IfModule security2_module
Вы не можете использовать Directory
директивы в .htaccess
файлы.
Объем настроек в .htaccess
файлы уже определены каталогом .htaccess
файл находится в папке.
Другими словами, настройки в /var/www/vhosts/mydomain.com/httpdocs/.htaccess
действительны для каталога /var/www/vhosts/mydomain.com/httpdocs/
и все подкаталоги в нем.
Если вы хотите применить настройки к /var/www/vhosts/mydomain.com/httpdocs/test-file-upl, вам необходимо поместить свои настройки в /var/www/vhosts/mydomain.com/httpdocs/test-file-upl/.htaccess
файл вместо этого, который будет выглядеть так:
<IfModule security2_module>
SecRuleRemoveById 330793
</IfModule>
(Или даже лучше, вообще не полагайтесь на файлы .htaccess и включите свои настройки в файлы конфигурации apache. )