我从apache下运行的perl cgi脚本中得到了一些非常讨厌的行为。 我在简单的印刷语句结尾处添加了引用信息,这让我感到疯狂。
[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/
这似乎只有在通过从另一个页面导航到达网址时才会发生(因此有一个引用是的)。上面的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设置。
由于 马特
答案 0 :(得分:1)
查看您的apache配置文件(httpd.conf
和朋友)并找到错误日志使用的CustomLog
指令,以查看它使用的LogFormat
,然后修改LogFormat
(或创建一个新的)从要包含在日志消息中的字段列表中删除%{Referer}
。 (当然,不要忘记在更改后重新加载apache配置。)