主页 > 知识库 > asp.net网站防恶意刷新的Cookies与Session解决方法

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

热门标签:昆明语音电销机器人价格 征途美甲店地图标注 腾讯地图标注手机 太原400电话上门办理 400电话如何申请取消 柳州电销机器人公司 电销语音机器人型号参数 浦发电话机器人提醒还款 百度地图怎样做地图标注

本文实例讲述了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网站防恶意刷新的Cookies与Session解决方法》,本文关键词  asp.net,网站,防,恶意,刷,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《asp.net网站防恶意刷新的Cookies与Session解决方法》相关的同类信息!
  • 本页收集关于asp.net网站防恶意刷新的Cookies与Session解决方法的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章