我必須爲我的web應用程序創建訪問日誌。我們在jboss.i前使用appache http服務器,我使用的是Apache訪問日誌指令,但問題在於:在訪問日誌中沒有獲取sessionid的指令。我需要訪問日誌中的sessionid才能獲得統計信息report.pls任何有解決方案的人都可以幫助我。如何將jsession id添加到apache http訪問日誌中
5
A
回答
1
包含%{JSESSIONID}℃到LogFormat指令
9
如果你的Web應用程序始終使用cookies來管理會話,你將被罰款改變你的LogFormat並添加參數記錄特定的cookie:
LogFormat ... \"%{JSESSIONID}C\" ... combined
這不適用於第一次請求,因爲通常沒有將cookie發送到服務器。 參見: http://httpd.apache.org/docs/2.2/mod/mod_log_config.html#formats:
%{Foobar的}℃
餅乾Foobar的內容發送到服務器的請求。只有版本0 cookie完全受支持。
如果您需要登錄每個JSESSIONID,所以evene這些編碼爲URL字符串,你可以這樣你的Web應用程序服務器(如Tomcat)上設置的標題:
response.setHeader("X-JSESSIONID", request.getSession().getId());
在Apache日誌格式可以登錄這個RepsonseHeader與
%{Foobar的}Ø
Foobar的內容:回覆中的標題行。
所以導致這樣的事情:
LogFormat ... \"%{X-JSESSIONID}o\" ... combined
但留意安全:你不應該登錄JSESSIONID因爲大家誰有權訪問日誌文件可以劫持每個用戶會話。當你在你的tomcat中設置標題行時,你可能應該加密sessionid。
String sessionId = request.getSession().getId();
String crypt = yourcryptalgo(sessionId);
response.setHeader("X-JSESSIONID", crypt);
相關問題
- 1. 如何啓用ElasticSearch http訪問日誌
- 2. Apache訪問日誌含義
- 3. 將'secure'標誌設置爲JSESSION id cookie
- 4. Apache訪問日誌調查
- 5. Apache httpd訪問日誌或tomcat訪問日誌
- 6. 如何將進程ID添加到LOG4J日誌文件?
- 7. REST API,HTTP動詞和訪問日誌
- 8. 將會話ID添加到Rails中的每個日誌中
- 9. 如何將日期添加到我的sidekiq.log日誌文件中?
- 10. PERL/PHP解析APACHE訪問日誌
- 11. Apache rotate訪問和錯誤日志Windows
- 12. 將日誌添加到WellSectionWindow中
- 13. PHP網頁未加載 - apache訪問日誌中沒有內容
- 14. 如何通過htaccess禁用Apache中的訪問日誌?
- 15. 如何將Apache日誌重定向到STDOUT和Apache日誌文件
- 16. YQL表Apache的訪問日誌
- 17. apache syslog-ng錯誤日誌和訪問日誌
- 18. 將刪除Apache訪問日誌中斷Subversion?
- 19. 多個jsession id tomcat
- 20. 將favicon.ico添加到apache cxf
- 21. 將訪問日誌文件加載到數據框中
- 22. 異常試圖添加到訪問日誌
- 23. 如何在weblogic的訪問日誌中記錄會話ID
- 24. 如何將日期時間戳添加到log4j2日誌文件?
- 25. 如何將nginx HTTP狀態碼(在訪問日誌中)傳遞給php。
- 26. 解析和操作http標題並將它們添加到Nginx的訪問日誌中
- 27. 如何從URL中刪除JSESSION ID
- 28. Nginx:添加$ host到日誌
- 29. 如何將http標頭添加到Apache Jena QueryEngineHTTP查詢?
- 30. 如何處理舊訪問日誌?
我試過了,但沒有返回任何東西。 – 2011-05-30 10:31:12
我嘗試了以下指令語法,但它沒有添加sessionid來登錄 LogFormat「%t%h \」%r \「%> s%b \」%{Referer} i \「\」%{User-agent 「i \」%{JSESSIONID} C「合併 CustomLog logs/kv_acces_log combined – 2011-05-30 10:44:51
需要重新啓動httpd,然後在客戶端瀏覽器中刷新,因此jsessionid將出現在accesslog中。 – Jasonw 2011-05-30 12:13:16