我在asp.net C#页面创建了一个会话,我在这样的会话中存储用户uniqueid,
Session["userid"] = clsUser.UniqueId;
并在每个页面上检查此唯一ID,并在会话为空时重定向。但是,如果我在IE的其他选项卡中复制用户当前URL,则不会重定向到登录页面。相反,它是在浏览器子选项卡上维护会话。
如果用户尝试在另一个子选项卡中复制网址,我该如何重定向到登录页面?
多个选项卡位于同一会话中 - 这是正常行为。也许您可以向页面添加第二个跟踪HiddenField或使用ViewState来确保回发来自它来自同一页面?
我认为没有任何真正的方法可以防止这种情况发生。
你不能这样做,因为每个浏览器的标签共享相同的cookie和基于浏览器cookie的asp.net会话
原始选项卡具有正确的Referer。复制的选项卡没有推荐人。使用qazxsw poi。请记住,这并不是完全安全的,因为复杂的用户可以操纵Referer。
你可以在页面加载时使用Request.UrlReferrer,它会给你以前的页面网址。
Request.UrlReferrer