如何区分浏览器的多个选项卡之间的会话

时间:2013-01-17 06:39:56

标签: c# asp.net session

我找到了一些方法来区分浏览器的多个标签之间的会话。首先是关于Cookiesless。其次是在打开新标签时使用Javascript来处理window.name。第三是使用隐藏字段来保持会话值。还有其他方法来区分会话吗?

1 个答案:

答案 0 :(得分:4)

许多网站所做的事情,包括我的DNS提供商和许多银行,只是将会话标识符保存在URL参数而不是cookie中,并且让页面之间的各种方式都将id传递给下一页

这导致会话仅在每个单独的选项卡打开时才存活,并且意味着每个选项卡都有一个不使用cookie的唯一会话。

在ASP.NET中,使用每个页面上存在的隐藏字段来连续传递常量会话标识符是一种很好的方法。

如果您出于安全原因想要使用浏览器后退按钮或浏览器历史记录阻止人们,则您可以执行的另一件事是在每次导航时散列标识符。这是许多网络银行服务使用的方法。请注意,虽然非常安全,但这种方法对用户来说可能会令人沮丧。