我需要排除我的apache日誌中的一些敏感細節,但我想保留日誌和uri的。是否有可能實現我的訪問日誌如下:是否可以在apache訪問日誌中排除指定的GET參數?
127.0.0.1 - - [27/Feb/2012:13:18:12 +0100] "GET /api.php?param=secret HTTP/1.1" 200 7600 "http://localhost/api.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
我要替換「祕密」與「[FILTERED]」像這樣:
127.0.0.1 - - [27/Feb/2012:13:18:12 +0100] "GET /api.php?param=[FILTERED] HTTP/1.1" 200 7600 "http://localhost/api.php" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11"
我知道,我也許應該使用POST來發送這個變量,但傷害已經完成。我看過http://httpd.apache.org/docs/2.4/logs.html和LogFormat,但找不到使用正則表達式或類似的任何可能性。有什麼建議麼?
[編輯]
不要發送敏感變量作爲GET參數,如果你要選擇的可能性。
當我嘗試同樣的事情時,出現「/ bin/sed:can not read >>錯誤:沒有這樣的文件或目錄」。你也看到了嗎? – PlagueHammer 2015-03-11 20:54:07
你是否改變了現有文件的路徑? '/your/path/access.log' – kvaale 2015-03-16 12:36:22
不幸的是,這並不適用於我。它在使用這個腳本時不記錄任何東西...... – Tarator 2017-09-23 12:08:01