在登出时禁用浏览器的后退按钮点击雅虎,Gmail等安全性

首先,我将会话变量设置为globle.asax文件中的Session [“SessionId”],如下所示: –

void Session_Start(object sender, EventArgs e) { // Code that runs when a new session is started string sessionId = Session.SessionID; Session["SessionId"] = "true"; } 

我在母版页的page_load()事件中使用此代码: –

 Response.Buffer = true; Response.ExpiresAbsolute = DateTime.Now.AddDays(-1d); Response.Expires = -1500; Response.CacheControl = "no-cache"; if(Session["SessionId"] == null) { Response.Redirect("PatientLoginPage.aspx"); } 

并使用Firefox作为我的默认浏览器,但它不起作用以及Chrome浏览器纠正我如果我错了请帮助我…

提前致谢,

vaibhav D.

如果我没有记错的话,Gmail和雅虎在退出时会使用2次重定向,因此当您点击“返回”时,您实际上会回到虚假页面,而不是您退出之前的页面。 试着去做同样的事情。

此外,使用的重定向类型可能会影响浏览器历史记录(我在这里想要从http标头重定向或从简单的javascript重定向)。

尝试用这个信息和一个虚假的“代理”页面来试验一个小问题,该页面充当“loggen in”和“log out”模式之间的中间环节。

Session_Start将在每次启动会话时被调用 – 因此即使您在注销代码中调用Session.Abandon(),一旦用户点击新页面,Session_Start将被触发(因为它看起来像一个新的会话),Session [“SessionId”]将不再为null,并将再次设置为“true”。

我认为Misquamaqus有关于如何“禁用”后退按钮的正确答案,但这应该有助于解决主页中的问题。