我必須爲我的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. Apache訪問日誌含義
- 4. Apache訪問日誌調查
- 5. 將'secure'標誌設置爲JSESSION id cookie
- 6. 訪問日誌Apache和httaccess
- 7. Apache httpd訪問日誌或tomcat訪問日誌
- 8. 如何訪問Cloudbees中的http訪問日誌
- 9. 如何將進程ID添加到LOG4J日誌文件?
- 10. REST API,HTTP動詞和訪問日誌
- 11. 將會話ID添加到Rails中的每個日誌中
- 12. PERL/PHP解析APACHE訪問日誌
- 13. 如何將日期添加到我的sidekiq.log日誌文件中?
- 14. CakePHP .htaccess打破訪問Apache日誌
- 15. Wildfly 10 Jsession ID
- 16. HTTP訪問添加
- 17. Apache rotate訪問和錯誤日志Windows
- 18. 如何自定義JSession ID
- 19. 將Apache配置爲在訪問日誌和錯誤日誌中記錄主機
- 20. 將日誌添加到WellSectionWindow中
- 21. PHP網頁未加載 - apache訪問日誌中沒有內容
- 22. 在Apache的訪問日誌獲取PROPFIND
- 23. 如何通過htaccess禁用Apache中的訪問日誌?
- 24. symfony 1.4和Apache訪問/錯誤日誌
- 25. YQL表Apache的訪問日誌
- 26. 如何將Apache日誌重定向到STDOUT和Apache日誌文件
- 27. apache syslog-ng錯誤日誌和訪問日誌
- 28. 將日誌添加到氣流日誌中
- 29. 將刪除Apache訪問日誌中斷Subversion?
- 30. 多個jsession id tomcat
我試過了,但沒有返回任何東西。 – 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