2014-12-09 102 views
1

如果設置會話超時時間太長,可能會遇到什麼問題。我在我的網站的web配置文件中設置了20到100的會話時間,可以在將來引發問題嗎?會話超時錯誤的缺點

回答

1

即使你在談論太高的會話超時,你的問題是關於錯誤的問題超時,這也意味着olow會話超時,所以我會在這裏談論這兩種可能性。

會話超時過低可能會導致意外的行爲和結果,因爲當您訪問會話變量時,會話變量不會再填充,因爲會話過期。例如,在網上商店中,如果您添加了商品,然後去購物車並在一段時間後按訂單,並且看到訂單爲空,因爲您花了很長時間才能按下該按鈕,這可能非常麻煩。

「太高」會話超時可能會有一些副作用,但最麻煩的問題(如果所有程序都正確編程)是安全性。爲了理解爲什麼我們需要記住安全性:當用戶關閉窗口而不是註銷(或不執行你定義的會話結束時)會發生什麼。瀏覽器再次啓動時仍會顯示所有用戶的會話數據。這通常在用戶的個人電腦上沒有問題,但是如果他使用公共電腦訪問該網站,那麼它可能會導致相當多的安全問題(如其他人可以訪問您的銀行帳戶信息,.... )。因此,安全性是選擇儘可能低的會話超時的主要原因,因爲您可以避開。

高值的一些副作用將取決於您的應用程序數據需要重新加載到會話中(例如,如果我們正在討論的統計信息存儲在那裏,其他用戶可以修改它們)。另一件事是內存消耗。會話保持活動的時間越長,其使用的內存使用時間也越長。通常這應該沒有問題,但根據您的應用程序,它可能會導致內存問題,如果會話數據包含大量的數據,每次點擊都會增加(在10多年中,我只遇到過一次這種問題,這是因爲對於導致它的那個頁面的定義非常獨特)。

因此,要總結出以下的東西可能是一個過高的會話超時的不必要的副作用:會話劫持的

  • 可能性較高,當別人使用相同的客戶端
  • 會話數據(根據應用雖然)可能太舊,以至於用戶看到不再是最新的數據。
  • 內存不足問題/磁盤空間不足問題(因爲會話通常存儲在磁盤上)。這就像之前提到的那樣極爲罕見,在大多數情況下,如果發生這種情況,它與使用超時設置的實際問題相比,對於構建錯誤的站點更重要。
+0

感謝此信息@thomas。目前,我正在得到數據庫問題。數據庫沒有得到更新後,我增加了會話超時100.它之前20.can,它與會話有關嗎?請幫助 – 2014-12-10 03:55:12

+0

通常db和會話根本沒有彼此連接。所以如果你沒有在那裏設計「錯誤」,那麼更高的會話超時應該不會影響數據庫更新。你會在會議中存儲你需要的東西嗎?我的意思不是數據清楚,更像連接本身或連接字符串,......? – Thomas 2014-12-10 06:56:36

+0

會議。請分享您的想法 – 2014-12-10 07:00:04

0

是的。它也將打開攻擊的窗口。如果會話負載增加,您也可能會遇到內存溢出。較高的值表示用戶可以閒置多少時間。

+1

DB死鎖?他們如何與會話超時連接? (據我所知,數據庫連接超時仍然與會話超時分開,還是我錯了?) – Thomas 2014-12-09 11:44:01

+0

已更正。謝謝 – Amit 2014-12-09 11:56:56

+0

hi @Amit,我們如何通過server.application上的應用程序獲取關於內存使用情況的信息。請告訴 – 2014-12-11 05:27:37