在登出时禁用浏览器的后退按钮点击雅虎,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有关于如何“禁用”后退按钮的正确答案,但这应该有助于解决主页中的问题。