Нечетное поведение cgi - PullRequest
       15

Нечетное поведение cgi

2 голосов
/ 21 февраля 2011

Я получаю очень раздражающее поведение от моих сценариев Perl CGI, работающих под Apache. Я получаю информацию о реферере в конце простых печатных заявлений, и это сводит меня с ума.

[Sun Feb 20 21:34:47 2011] [error] [client xx] ruid: 48, referer: http://www.x.com/
[Sun Feb 20 21:34:47 2011] [error] [client xx] euid: 48, referer: http://www.x.com/
[Sun Feb 20 21:34:47 2011] [error] [client xx] test, referer: http://www.x.com/
[Sun Feb 20 21:34:47 2011] [error] [client xx] Premature end of script headers: test.cgi, referer: http://www.x.com/

Это, кажется, происходит только тогда, когда URL-адрес достигается путем перехода с другой страницы (следовательно, с реферером да). Приведенный выше вывод журнала apache был произведен с помощью невероятно простого сценария depo:

#!/usr/bin/perl -w

use strict;
use warnings;

use CGI;

my $q = CGI->new;

print STDERR "ruid: $<\n";
print STDERR "euid: $>\n";
print STDERR "test\n";

Кто-нибудь видел это раньше? Это похоже на настройку apache, которую мне нужно отключить.

Спасибо Matt

1 Ответ

1 голос
/ 21 февраля 2011

Взгляните на ваши конфигурационные файлы apache (httpd.conf и друзья) и найдите директиву CustomLog, которая используется в вашем журнале ошибок, чтобы увидеть, какую LogFormat она использует, затем измените эту LogFormat (или создайте новый) для удаления %{Referer} из списка полей для включения в журнал сообщений. (И не забудьте перезагрузить конфигурацию apache после ее изменения, конечно.)

...