• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    asp.net网站防恶意刷新的Cookies与Session解决方法

    本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧。分享给大家供大家参考。具体实现方法如下:

    Session版实现方法:

    public double time;
    public const int freetime = 1;//防刷冰冻时间间隔,当前为1秒
    
    #region 防恶意刷新
    if (Session.SessionID == null)
    {
      Response.End();
    }
    else if (Session["sionid"] == null)
    {
      Session["sionid"] = Session.SessionID;
    }
    if (Session["last"] == null)
    {
      Session["last"] = DateTime.Now;
    }
    else
    {
      DateTime thisTime = DateTime.Now;
      DateTime lastTime = DateTime.Parse(Session["last"].ToString());
    
      if (Session.SessionID == Session["sionid"].ToString())
     Session["last"] = thisTime;
      TimeSpan ts = thisTime - lastTime;
    
      time = ts.TotalMilliseconds;
      if (time  freetime * 500)
      {
     warm_prompt();
      }
    }
    #endregion
    
    public void warm_prompt()
    {
        Response.Write("table width='778' border='0' align='center' cellpadding='3' cellspacing='2' bgcolor='#009900' style='font-size: 14px; '>");
        Response.Write(" tr bgcolor='#FFFFFF'>");
        Response.Write("  td>img src='/newimages/logos.gif'>/td>");
        Response.Write("  td bgcolor='#EEFFEE'为了保证您的访问安全,请您 " + freetime + " 秒后a href='" + Request.RawUrl + "' target='_self' style='color:#FF0000;'>点击这里刷新/a>此页面/td>");
        Response.Write(" /tr>");
        Response.Write("/table>");
        Response.End();
    }
    
    

    Cookies版实现方法:

    public double time;
    public const int freetime = 2;
    
    #region 防恶意刷新
    string page;
    if (Request.Cookies["page"] == null)
    {
      page = "";
    }
    else
    {
      page = HttpContext.Current.Request.Cookies["page"].Value.ToString(); //获取cookie中存储的url值 
    }
    
    string strThisPage = HttpContext.Current.Request.Url.PathAndQuery.ToString();//获取当前页地址 
    DateTime LastTime = DateTime.Now;
    if (page.Equals(strThisPage))//如果cookie中的值和当前页相等,那么表示是刷新操作 
    {
      TimeSpan ts = LastTime - DateTime.Parse(HttpContext.Current.Request.Cookies["time"].Value.ToString());
    
      time = ts.Seconds;
      if (time  freetime)
      {
     warm_prompt();
      }
    }
    else
    {
      //执行操作 
      Response.Cookies["page"].Value = strThisPage;
      Response.Cookies["time"].Value = LastTime.ToString();
    }
    #endregion
    
    public void warm_prompt()
    {
        Response.Write("table width='778' border='0' align='center' cellpadding='3' cellspacing='2' bgcolor='#009900' style='font-size: 14px; '>");
        Response.Write(" tr bgcolor='#FFFFFF'>");
        Response.Write("  td>img src='/newimages/logos.gif'>/td>");
        Response.Write("  td bgcolor='#EEFFEE'为了保证您的访问安全,页面将在2秒后将自动跳转到您要访问的内容!/td>");
        Response.Write(" /tr>");
        Response.Write("/table>");
        Response.Write("meta http-equiv=\"refresh\" content=\"2\";URL=" + HttpContext.Current.Request.Cookies["page"].Value.ToString() + ">");
        Response.End();
    }
    
    

    相信本文所述对大家的asp.net程序设计有一定的借鉴价值。

    您可能感兴趣的文章:
    • smarty模板中使用get、post、request、cookies、session变量的方法
    • php设置session值和cookies的学习示例
    • .net中的session与cookies区别及使用方法
    • Application,Session,Cookies对象应用介绍
    • Cookies 和 Session的详解及区别
    上一篇:在asp.net中使用加密数据库联接字符串保证数据安全
    下一篇:asp.net中IDataParameter调用存储过程的实现方法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    asp.net网站防恶意刷新的Cookies与Session解决方法 asp.net,网站,防,恶意,刷,