Val Petruchek

подписывайтесь, а то хуже будет!  

ПОДПИСЫВАЙТЕСЬ НА RSS

406 Not Acceptable Error и как с ней бороться

25.04.07 @ 05:29 — Programming, PHP

Если ваш php-скрипт начинает выдавать 406-ую ошибку (точнее не сам скрипт, а apache) со словами “An appropriate representation of the requested resource /***.php could not be found on this server”, то скорее всего apacheвскому mod_security что-то не нравится в вашем скрипте.

Например, ваш скрипт может принимать в качестве параметра какие-нибудь URLы, а mod_security будет думать, что злобный хакер пытается выполнить remode code injection. Или ещё что-нибудь.

Если вы уверены в своём скрипте, то можно попробовать отключить mod_security. Проще всего это сделать, добавив две директивы в .htaccess:
SecFilterEngine Off
SecFilterScanPOST Off

Если не получается отрубить mod_security с помощью .htaccess, отключайте его с помощью httpd.conf.

Если это не разрешает сделать админ или ваша религия, то читайте логи (типа такого: [mod_security: Access denied with code 406. Pattern match “\\\\.php(3|4|5)?(\\\\?|&).*=(ht|f)tps?:/.*(\\\\?|&) ” at REQUEST_URI [id “300018″] [rev “1″] [msg “Generic PHP code injection protection”] [severity “CRITICAL”] …]) и модифицируйте скрипт таким образом, чтоб он не вызывал подозрений у mod_security.

  
Реклама::

 
Реклама::