406 Неприемлемая ошибка Проблема с параметром GET?

Может ли кто-нибудь сказать мне, почему следующий URL-адрес возвращает ошибку 406:

http://kolek.to/functions/remote-upload.php?url=http%3A%2F%2Fben-major.co.uk%2Fhosting%2Fbm-equipment%2Faxe-2.jpg&item_id=2

Удаление параметра ?url= кажется, все в порядке:

http://kolek.to/functions/remote-upload.php?item_id=2

Для справки, содержание remote-upload.php выглядит следующим образом:

<?php
require_once('../models/api.php');
$request_url = urldecode($_REQUEST['url']);
$item_id = $_REQUEST['item_id'];
echo $item_id;
?>

person BenM    schedule 21.11.2012    source источник


Ответы (1)


Я думаю, что это связано с фильтром безопасности вашего сервера (я вижу в заголовке ответа, что это Apache).

В вашем случае Apache mod_security включен по умолчанию. Хотя вы можете использовать следующее для диагностики проблемы (отключение фильтра должно решить проблему), выполнив эту команду на сервере:

SecFilterEngine off

НО делайте это только для проверки, не связана ли проблема с фильтром безопасности, я не рекомендую оставлять фильтр выключенным (опасность инъекций и спам-атак).

Если вы видите, что причиной проблемы является фильтр, попробуйте добавить свой запрос в белый список: ЗДЕСЬ вы можете найти руководство, а ЗДЕСЬ — основной веб-сайт.

person damoiser    schedule 21.11.2012
comment
Спасибо. Это была проблема mod_security. Мы смогли обойти это, выполнив запрос POST вместо GET. - person BenM; 21.11.2012