我讀過,玩框架通過散列會話id與應用程序密鑰解決會話註冊問題,但它提供了任何機制來防止會話劫持,或者這是遺留給實現者?是否玩!框架有沒有內建機制來防止會話劫持?
回答
該劇的文檔有很好的關於安全性的章節,所以不是重複的,這裏是一個鏈接 - http://www.playframework.org/documentation/1.2.4/security。
它涵蓋
- XSS
- SQL注入
- 會話安全
- 跨站請求僞造
一些你必須自己實現,別人不這樣做。
有關會話劫持的具體問題是自動的。
會話是密鑰/值的散列,已簽名但未加密。 意味着只要你的祕密是安全的,第三方就不可能僞造會話。
不,一旦能夠捕獲會話cookie(通過嗅探/中間人),就沒有內置的方法來防止劫持會話。 有一些方法來使它更難,如:使用
- 僅HTTPS
- 在application.conf
一個approache設置application.session.httpOnly使其更難的是: - 存儲IP /用戶代理/解決方案/其他的東西或散列,也在會話..在你的控制器,然後檢查訪問您的網站的用戶是否仍然重新創建相同的哈希......唯一真正的問題是與使用代理的人,例如因羣集而動態更改IP。
一個小技巧,你可以嘗試使用:(僅適用於最新的瀏覽器) 當用戶登錄時,存放一些東西,在一個HTML5本地存儲。修改您的Ajax調用以從本地存儲提供此信息。如果信息丟失/無效,則可以使整個會話失效。但是您必須確保檢查僅適用於來自HTML5瀏覽器的請求。
希望這會有所幫助。
存儲IP和用戶代理是一個壞主意。見http://stackoverflow.com/questions/969330/including-user-ip-addr-for-hash-cookie-value-bad-idea – marchaos 2012-01-04 21:26:42
你是鏈接地址我曾說過「唯一真正的問題是與那些正在使用代理的人,例如由於集羣而動態更改IP。「 沒有任何反對存儲用戶代理的散列,因爲如果在會話期間發生更改,會話被劫持。 這一切都取決於你願意投入多少能量,如果它真的值得。 更改/刪除敏感數據應始終只能通過SSL並提供密碼。 – 2012-01-05 15:08:34
- 1. 有什麼方法可以防止沒有httpOnly支持的會話劫持?
- 2. 怎麼辦HTTPS防止會話劫持
- 3. 防止會話劫持的好方法?
- 4. 如何防止tomcat會話劫持?
- 5. 停止會話劫持
- 6. 你如何使用JavaScript框架來防止點擊劫持?
- 7. ZK中的會話劫持預防
- 8. 實施會話劫持預防,正確
- 9. 如何防止會話劫持導致asp.net應用程序?
- 10. 使用時間戳防止會話劫持?
- 11. 已取消Mediawiki登錄以防止會話劫持
- 12. Java中是否有框架來建立持久層?
- 13. 會話劫持和PHP
- 14. 會話劫持安全
- 15. 會話劫持或攻擊?
- 16. 是否有可能劫持標準出
- 17. jquery jscrollpane劫持具有2個可玩的內部鏈接
- 18. 是否玩!框架有一個內置的(基本)Web管理控制檯?
- 19. 如何防止JSON劫持MVC的
- 20. 我如何防止sesssion劫持?
- 21. 是否有持續部署框架?
- 22. Factory框架在沒有Visitor的框架之外是否有用?
- 23. 有沒有機會破解codeigniter會話?
- 24. 西納特拉應用得到機架::保護::會話劫持在IE9
- 25. 在ASP.NET中避免會話劫持
- 26. 避免會話劫持與Kohana
- 27. ASP.NET中的會話劫持保護
- 28. 避免會話劫持現場與HTTP
- 29. 會話變量是否有限制?
- 30. 劫持會話發生在遠程計算機上嗎?
到目前爲止,我有一個是和不是,所以這裏顯然有一些矛盾的信息。 – marchaos 2012-01-05 19:37:51
我仍然覺得這個問題沒有答案,但不幸的是我必須在任何情況下獎賞賞金。如果有人可以回答一個明確的答案,那就太好了。 – marchaos 2012-01-23 11:32:05