为了安全考虑,在直接输入url时候,先判断session("id")是否有值,不然就跳转到其他页面。
正常登陆,到了第二个页面以后,可以选择logout,这个时候执行session.removeall的操作,然后返回
登陆画面,窗口并不关闭。这个时候直接输入刚才那个第二个页面地址,本来应该转向到登陆画面,却可以直接访问了,有没有什么方法解决这个问题?
正常登陆,到了第二个页面以后,可以选择logout,这个时候执行session.removeall的操作,然后返回
登陆画面,窗口并不关闭。这个时候直接输入刚才那个第二个页面地址,本来应该转向到登陆画面,却可以直接访问了,有没有什么方法解决这个问题?
多半是缓存的缘故.
---------
为了安全考虑,在直接输入url时候,先判断session("id")是否有值,不然就跳转到其他页面。
正常登陆,到了第二个页面以后,可以选择logout,这个时候执行session.removeall的操作,然后返回
登陆画面,窗口并不关闭。这个时候直接输入刚才那个第二个页面地址,本来应该转向到登陆画面,却可以直接访问了,此事,你刷新本页,看看可以访问吗?若可以那说明session没有清空,若不可以,那说明已经OK了,只是暂时的缓存,不会有安全隐患的.
Session.Clear();
Session.Abandon();
Response.Clear();
Response.Buffer=true;
Response.Expires=0;
Response.ExpiresAbsolute= DateTime.Now.AddDays(-1);
Response.AddHeader("pragma","no-cache");
Response.AddHeader("cache-control","private");
Response.CacheControl="no-cache";
foxconn_nich() 的方法没成功。不知道为什么。
我在头里加了<META http-equiv="Pragma" content="no-cache">之后没有问题了。
protected override void OnInit(EventArgs e)
{
if (Session["id"]== null)
{
Response.Write(string.Format("<script>top.window.location.href='Admin/login.aspx';</script>",));
} }