最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

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

来源:动视网 责编:小采 时间:2020-11-27 22:38:53
文档

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

asp.net网站防恶意刷新的Cookies与Session解决方法:本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧。分享给大家供大家参考。具体实现方法如下: Session版实现方法: public double time; public const int freetime = 1;//防刷
推荐度:
导读asp.net网站防恶意刷新的Cookies与Session解决方法:本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧。分享给大家供大家参考。具体实现方法如下: Session版实现方法: public double time; public const int freetime = 1;//防刷


本文实例讲述了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程序设计有一定的借鉴价值。

文档

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

asp.net网站防恶意刷新的Cookies与Session解决方法:本文实例讲述了asp.net网站防恶意刷新的Cookies与Session解决方法,是WEB程序设计中非常实用的技巧。分享给大家供大家参考。具体实现方法如下: Session版实现方法: public double time; public const int freetime = 1;//防刷
推荐度:
标签: cookie 刷新 asp.ne
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top