3

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

4

1 回答 1

4

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

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

在 ASP.NET 中,使用存在于每个页面上的隐藏字段来持续传递恒定的会话标识符是一种很好且简单的方法。

如果您出于安全原因想要阻止人们使用浏览器后退按钮或浏览器历史记录,您可以做的另一件事是在每次导航发生时对标识符进行哈希处理。这是许多网上银行服务使用的方法。请注意,虽然非常安全,但这种方法可能会让用户感到沮丧。

于 2013-01-17T07:05:57.750 回答