主頁 > 知識庫 > asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法

asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法

熱門標簽:昆明語音電銷機器人價格 征途美甲店地圖標注 騰訊地圖標注手機 太原400電話上門辦理 400電話如何申請取消 柳州電銷機器人公司 電銷語音機器人型號參數(shù) 浦發(fā)電話機器人提醒還款 百度地圖怎樣做地圖標注

本文實例講述了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è)計有一定的借鑒價值。

您可能感興趣的文章:
  • smarty模板中使用get、post、request、cookies、session變量的方法
  • php設(shè)置session值和cookies的學習示例
  • .net中的session與cookies區(qū)別及使用方法
  • Application,Session,Cookies對象應(yīng)用介紹
  • Cookies 和 Session的詳解及區(qū)別

標簽:張家界 陽泉 白山 新疆 天門 德陽 蘭州 江蘇

巨人網(wǎng)絡(luò)通訊聲明:本文標題《asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法》,本文關(guān)鍵詞  asp.net,網(wǎng)站,防,惡意,刷,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于asp.net網(wǎng)站防惡意刷新的Cookies與Session解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章