2013-01-17 83 views
2

的多發性標籤區分會話我找到了一些方法,以瀏覽器的多發標籤區分會話。首先是關於Cookiesless。其次是打開新標籤時使用Javascript來處理window.name。第三是使用隱藏字段來保持會話值。還有其他方法來區分會話嗎?如何瀏覽器

+1

我說使用Cookie並稱它很好,但那就是我:) – dana

+2

[可能這是你想要的。該鏈接提供了一些代碼。它使用HiddenField] [1] [1]:http://stackoverflow.com/questions/2840615/asp-net-session-multiple-browser-tabs-different-sessions – DevProve

+1

請參閱我對此問題的回答:http ://stackoverflow.com/a/14285965/453277。簡而言之,使用獨特的隱藏字段作爲會話值的*鍵*不要將實際值存儲在隱藏字段中。 –

回答

2

許多網站所做的事情,包括我的DNS提供商和一些銀行,只是將會話標識符保存在URL參數中而不是cookie中,並且讓頁面之間的所有方式都將ID傳遞給下一個頁。

這導致唯一倖存的,只要每一個人選項卡打開一個會話,意味着每個標籤具有不使用cookie一個唯一的會話。

在ASP.NET中,使用每一頁上存在一個隱藏字段,不斷通過恆定的會話標識符是這樣做的很好的和簡單的方法。

你可以做的另一件事是哈希,如果你想使用瀏覽器的後退按鈕或瀏覽器歷史記錄出於安全原因阻止人們發生每一次航行的標識。這是許多網絡銀行服務使用的方法。請注意,雖然非常安全,但這種方法可能會讓用戶感到沮喪。