asp.net中的会话

问题描述 投票:0回答:4

我在asp.net C#页面创建了一个会话,我在这样的会话中存储用户uniqueid,

Session["userid"] = clsUser.UniqueId;

并在每个页面上检查此唯一ID,并在会话为空时重定向。但是,如果我在IE的其他选项卡中复制用户当前URL,则不会重定向到登录页面。相反,它是在浏览器子选项卡上维护会话。

如果用户尝试在另一个子选项卡中复制网址,我该如何重定向到登录页面?

.net asp.net security c#-4.0 asp.net-ajax
4个回答
0
投票

多个选项卡位于同一会话中 - 这是正常行为。也许您可以向页面添加第二个跟踪HiddenField或使用ViewState来确保回发来自它来自同一页面?

我认为没有任何真正的方法可以防止这种情况发生。


3
投票

你不能这样做,因为每个浏览器的标签共享相同的cookie和基于浏览器cookie的asp.net会话


0
投票

原始选项卡具有正确的Referer。复制的选项卡没有推荐人。使用qazxsw poi。请记住,这并不是完全安全的,因为复杂的用户可以操纵Referer。


0
投票

你可以在页面加载时使用Request.UrlReferrer,它会给你以前的页面网址。

Request.UrlReferrer
© www.soinside.com 2019 - 2024. All rights reserved.