0514-86177077
9:00-17:00(工作日)
本文實例講述了asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法,是WEB程序設(shè)計中非常實用的技巧。分享給大家供大家參考。具體實現(xiàn)方法如下:
Session版實現(xiàn)方法:
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版實現(xiàn)方法:
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 { //執(zhí)行操作 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秒后將自動跳轉(zhuǎn)到您要訪問的內(nèi)容!/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程序設(shè)計有一定的借鑒價值。
標簽:張家界 陽泉 白山 新疆 天門 德陽 蘭州 江蘇
上一篇:在asp.net中使用加密數(shù)據(jù)庫聯(lián)接字符串保證數(shù)據(jù)安全
下一篇:asp.net中IDataParameter調(diào)用存儲過程的實現(xiàn)方法
Copyright ? 1999-2012 誠信 合法 規(guī)范的巨人網(wǎng)絡(luò)通訊始建于2005年
蘇ICP備15040257號-8