2012-03-01 75 views
6

我最近在我的母版頁中實現了一小段JavaScript,每隔30秒做一次ajax請求以保持會話活躍。我知道有幾個關於保持活力的問題,但我還沒有真正能夠找到這些具體問題的答案。使用ajax請求保持會話活動安全嗎?

我的問題是:

  1. 它是安全的這樣做呢?如在,如果有許多併發用戶/連接,這會有什麼不利影響嗎?

  2. 我可以使用此方法實現擴展超時還是必須使用cookie?

  3. 我對餅乾知之甚少,但是現在可以相對接受嗎?或者會有不允許他們的用戶 - 他們能夠使用我的網站嗎?

謝謝大家!

回答

7
  1. 是的,它是安全的。就加載而言,這取決於您的硬件以及如何編寫它,但與刷新頁面的用戶相比,效果並不差。(可以說沒有考慮到通過標準頁面加載的AJAX調用的開銷)。
  2. 如果這是你所要求的,你可以在web.config中調整超時...
  3. 這是對你的私人電話。 Cookies有其目的,只要它是你的域名,我發現它們是可以接受的,但是卻意識到有些人會禁用它們,所以它歸結爲退步。

有些事情要記住,雖然:

  1. 銀行使用同樣的方法之前,讓您的會議上,當你檢查你的財務狀況持續,但通常提供一個彈出,詢問是否」我想繼續。
  2. 保持用戶強制登錄的時間超過正常時間可能會造成安全風險(圖中某人在圖書館或學校計算機上登錄並離開辦公桌 - 如果該會話繼續進行到第二天[或更長時間]?)
+0

感謝您的信息。用戶沒有分享任何敏感數據,所以我想我會保持清爽的會話。我想我會將超時設置爲比刷新頻率長一分鐘左右(如果瀏覽器關閉,會話將盡可能快地結束) - 但是這帶來了另一個問題......您認爲我可以多久刷新會話,而不經常地TOO? – Goose 2012-03-02 20:41:54

+1

@Shannon:與個人安全無關的大多數會議(我見過)都在20-30分鐘左右。銀行網站大概需要3-5分鐘。我會盡可能接近實際到期時間,因爲這是不必要的負載輪詢更頻繁。 – 2012-03-02 20:48:18

0

關於cookies,這是非常可以接受的使用。 幾乎所有網站上的用戶都保存cookie,他們必須這樣做。 有些用戶不允許他們,但proggramer可以通過改變瀏覽器的安全性來解決它(這裏有一個憲法問題)。 你可以看到該網站是否在瀏覽器中保存cookie。