2
我有Apache作爲代理運行,我想將cookie字符串記錄爲通過代理髮送的請求的一部分,但我有某些Cookie因爲它們包含敏感信息而要排除。如何將Apache配置爲不記錄某些Cookie?
我知道Apache的mod_log_config允許與記錄整個cookie字符串:
%{Cookie}i
而且我可以登錄一個特定的cookie:
%{Foobar}C
但我想記錄的一切除了一定如果存在Cookie。一個可能的策略我想是使用SetEnvIf之後用%{FOO} E,它打印一個環境變量組合,所以像:
SetEnvIf = Cookie "(.*?)(Foobar=([^\s;]*;? ?))?(.*)" FILTERED_COOKIES=$1$4
和
%{FILTERED_COOKIES}e
這種運作良好,如果Foobar的在存在cookie字符串,但如果Foobar不存在,如果只是記錄一個「 - 」,所以我沒有得到所有其他的cookie。
有可能我的正則表達式可能很差,但它似乎在匹配的情況下工作,但Apache似乎無法在不匹配的情況下處理它。
編寫自定義Apache mod的不足之處,有沒有一種方法可以排除cookies被記錄?