9

长话短说,用户密码是通过 url 传递纯文本的(可怕,是的,但不是我的想法),并且这个查询字符串被存储在访问日志中,我们显然不希望如此明显。

有没有办法在不禁用 CustomLog 的情况下防止查询字符串存储在访问日志中?

4

2 回答 2

14

您的common日志格式包括%r(请求的第一行)中的查询字符串

您可以做的是添加新的日志格式(保留旧的以供参考,无需删除)

LogFormat "%h %l %u %t \"%m %U %H\" %>s %b" common_no_querystring

其中%m是方法 (GET/POST),%U是不带查询字符串的请求 URL ,是请求%H的 HTTP 版本。这将输出与 相同的行%r,但查询字符串除外。

然后您需要做的就是将 customlog 行更改为;

CustomLog "logs/access.log" common_no_querystring

并且您将不再在日志中获得查询字符串。

于 2013-01-03T19:23:08.173 回答
3

看看自定义日志格式,特别是

%U  The URL path requested, not including any query string.
于 2013-01-03T18:19:23.287 回答