Web site anti-Malware refresh cookies and session resolution

Source: Internet
Author: User
Tags httpcontext

This article is an example of the Web site anti-Malware refresh of the cookie and session resolution, is a very useful technique in the design of the Internet. Share to everyone for your reference. The implementation method is as follows:

Session Version Implementation method:

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></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(); } How to implement the cookie version: 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></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(); }

Web site anti-Malware refresh cookies and session resolution

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.