Перенаправление запрашивает, который привел бы к HTTP 400 (Плохой Запрос) ошибка (Apache 2.2)

TFTP использует порт 69 для канала управления (отправьте запрос чтения-записи), и сервер передаст данные обратно из недавно назначенного порта.

Если Вы хотите, чтобы этот порт был статическим, Вам, вероятно, придется изменить исходный код tftp сервера.

1
задан 2 March 2010 в 23:00
2 ответа

Вы могли определить пользовательский ErrorDocument для этих 400 Ошибок как так:

ErrorDocument 400 /cgi-bin/handle400.cgi

и затем имейте это, cgi (или php или сервлет или безотносительно) делают перезапись заголовка и перенаправление местоположения.



Править: из-за ответа Jacek я просто протестировал выше решения подтвердить, что это работает над Apache 2.2.

Моя конфигурация сервера:

ScriptAlias     /cgi-bin/ "/var/www/cgi-bin/"
ErrorDocument   400 /cgi-bin/handle400.pl

кошка lukas$/var/www/cgi-bin/handle400.pl

#!/usr/bin/perl
print "Content-type: text/html\n\n";
while (my ($key, $val) = each %ENV) {
        print "$key = $val<BR>\n";
}
exit 0;

Теперь при доступе к поврежденному URL, который произвел бы ошибку 400 Плохих Запросов прежде, я теперь получаю следующий (частичный) вывод:

...
REDIRECT_REQUEST_METHOD = GET
REDIRECT_STATUS = 400
REMOTE_ADDR = xx.xx.xx.xx
REQUEST_URI = /%&%28%7B$%7Beval%28base64_decode%28$_SERVER%5BHTTP_EXECCODE%5D%29%29%7D%7D%7C.+%29&%/
GATEWAY_INTERFACE = CGI/1.1
SCRIPT_URL = /cgi-bin/handle400.pl
...

Таким образом, Вы действительно получаете достаточно информации, чтобы сделать надлежащее изменение кода состояния и перенаправление местоположения.

3
ответ дан 3 December 2019 в 19:50
  • 1
    Спасибо! Я попробовал этот метод, но так или иначе сумел не получить его работа. Я дал ему другой выстрел, и это работало как очарование. –  inxilpro 8 March 2010 в 19:24

'400 Плохих запросов' означают, что запрос так повреждается, он не может анализироваться/пониматься сервером. Это означает, что сервер не имеет никаких данных из запроса (даже URL), таким образом, нет ничего mod_rewrite, или любой другой инструмент, обрабатывающий данные запроса, может делать с этим.

0
ответ дан 3 December 2019 в 19:50

Теги

Похожие вопросы