本文實例講述了asp.net網站防惡意刷新的Cookies與Session解決方法,是WEB程序設計中非常實用的技巧。分享給大家供大家參考。具體實現方法如下:
Session版實現方法:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 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(); }新聞熱點
疑難解答