2010-03-05 3 views
0

вот проблема: при запросе URL как - http://server/path/to/file.html?param=../../something/something я получаю ответ:Apache: несколько ../ в строке запроса = внутренняя ошибка сервера (ошибка 500)

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), я получаю запрошенную страницу. он дает ошибку только на двух или более «../».

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

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

любые идеи о том, как преуспеть передать несколько «../'s в строке запроса?

ответ

1

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

Смежные вопросы