2011-04-07 58 views
1

我們有一個財務應用程序,當用戶在新選項卡中打開鏈接並關閉前一個時,他的會話在新選項卡中仍處於活動狀態。這可能會造成跨站請求僞造問題,這對我們來說是一個大問題。我們的開發人員在實現使用onload或unload時(如此處所述)(http://www.liferay.com/community/forums/-/message_boards/message/2948770)說過,應用程序的構建方式(Java + faces + jboss + tomact)會導致問題,因爲每次使用時都會註銷它點擊一個菜單。這是因爲只要用戶從一個頁面導航到另一個頁面,就會調用該函數。在新瀏覽器選項卡上的最終用戶會話

有沒有解決這個問題的方法,而不使用卸載/加載JavaScript函數?

感謝

+0

我可以知道如何在新選項卡中打開鏈接會導致CSRF? – 2011-04-07 07:29:53

+0

http://mehmoodbluffs.blogspot.com/2007/10/detecting-browser-event-closing-in.html – 2011-04-07 07:42:19

+0

@Suresh檢查了這一點(http://en.wikipedia.org/wiki/Cross-site_request_forgery)if用戶不會點擊註銷,只是簡單地在沒有註銷的情況下關閉標籤(而不是瀏覽器),他的會話仍處於活動狀態,並且可能會被劫持。這仍然對客戶和金融機構構成風險 – andreas 2011-04-07 08:46:35

回答

0

這是不可能檢測到用戶關閉頁面,而不使用JavaScript。

但是,如果您存儲多個CSRF令牌而不是僅存儲一個(例如最多10個)令其更方便用戶。當使用一個時,只有這個是無效的,當有新的時候,最舊的一個被刪除。 這確保人們可以在多個選項卡中工作,同時仍具有CSRF保護。

+0

嗯,我們目前不使用CSRF令牌 – andreas 2011-04-07 07:32:27

+0

這不會導致後退按鈕的問題嗎? – andreas 2011-04-07 08:56:59

相關問題