Asp.Net浏览器缓存、信息安全问题

废话不多说直接上代码!

第一、禁止登陆页面在浏览器端缓存

<%
        Response.Buffer = true;
        Response.ExpiresAbsolute = DateTime.Now.AddSeconds(-1);
        Response.Expires = -1;
        Response.AddHeader("pragma", "no-cache");
        Response.AddHeader("pragma", "no-store");
        Response.CacheControl = "no-cache";
%>

第二、服务器端做用户权限安全校验

protected void Page_Load(object sender, EventArgs e)
{
     if (Common.SessionManage.login)
     {
        Common.SessionManage.RemoveAll_Session();
     }

}

 

第三、安全跳转,所有需要权限校验的页面都继承BasePage

 public class LoginPage:BasePage
 {
  protected override void OnPreLoad(EventArgs e)
  {
   if (!Common.SessionManage.login)
   {
    StringBuilder sb = new StringBuilder();
    sb.Append("<script type=\"text/javascript\">");
    sb.Append("if ((window.top!=null) && (window.top.opener!=null)){alert('操作超时,请重新登录!');window.top.opener.location.href = \"/login.aspx\";window.top.close();}");
    sb.Append("else{if ((window.top!=null) && (window.top.location.href!=window.location.href)) {alert('操作超时,请重新登录!');window.top.location.href = \"/login.aspx\";} else{ alert('操作超时,请重新登录!'); window.location.href = \"/login.aspx\";}}");
    sb.Append("</script>");
    Response.Write(sb.ToString());
    Response.End();
   }
   base.OnPreLoad(e);
  }
 }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值