Apache: несколько ../ в строке запроса = внутренняя ошибка сервера (ошибка 500) - PullRequest
0 голосов
/ 05 марта 2010

вот в чем проблема: при запросе URL вроде - http://server/path/to/file.html?param=../../something/something я получаю ответ:

500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
...
Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

журнал говорит:

xxx.xxx.xxx.xxx - - [05/Mar/2010:13:43:29 -0500] "GET /path/to/file.html?param=../../something/something HTTP/1.1" 404 - "-" ...

если я удаляю один экземпляр '../' в строке запроса (запрос http://server/path/to/file.html?param=../something/something), я получаю запрашиваемую страницу. выдает ошибку только на двух или более '../'s.

это на каком-то хост-сервере, и то же самое не дает ошибок на моих локальных серверах (LAMP, WAMP). Полагаю, речь идет о настройке Apache, но я не знаю, какие опции проверять.

Apache2.2.14 (Unix) под вопросом, PHP установлен (но он явно не имеет ничего общего с PHP, когда я запрашиваю обычный старый HTML-файл), правила mod_rewrite отключены (нет файлов .htaccess в запрошенном пути к файлу).

какие-либо идеи о том, как успешно передать несколько '../ в строке запроса?

1 Ответ

1 голос
/ 03 августа 2010

оказался мерой безопасности, включенной по умолчанию хостинг-провайдером - не допускающей «backpaths», но я не уверен, какой и где он установлен.

...