Apache 2默认logging整个请求URI,包括每个请求的查询string。
什么是防止Apache 2 Web服务器logging敏感数据(例如密码,信用卡号码等)的直接方法,但仍会logging其余的请求?
我想logging所有login尝试,包括尝试的用户名,默认情况下是Apache,并防止Apache直接login密码。
我已经浏览了Apache 2的文档,除了完全阻止这些请求的logging(使用SetEnvIf)以外,看起来并不是一个简单的方法。
我怎样才能做到这一点?
Apache 2默认logging整个请求URI,包括每个请求的查询string。
什么是防止Apache 2 Web服务器logging敏感数据的简单方法,例如密码,信用卡号码等,但是仍然logging其余的请求?
我读的是否正确,您是否将URI中的敏感信息作为QueryString发送? 我会build议改变应用程序,所以它首先做的。
那么,就不需要改变apache了,因为默认情况下它不会做任何这样的事情。
您可以通过将CustomLog指令与一些sed魔术组合在一起,最终在access.log中屏蔽密码(如https://stackoverflow.com/a/9473943/102170中所述 ):
这将在/your/path/access.log中用password=[FILTERED]replacepassword=secret每一次出现:
CustomLog "|/bin/sed -E s/'param=[^& \t\n]*'/'param=\[FILTERED\]'/g >> /your/path/access.log" combined
也就是说,如果可能的话,最好避免将敏感数据放在查询string中。
您可以阅读GET和POST之间的区别 ,重新编写应用程序以停止在GET参数中input密码和信息。