国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

asp.net網站防惡意刷新的Cookies與Session解決方法

2024-07-10 13:28:12
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了asp.net網站防惡意刷新的Cookies與Session解決方法,分別以實例的形式講述了采用cookie法與session法實現WEB頁面防止惡意刷新的技巧,需要的朋友可以參考下
本文實例講述了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程序設計有一定的借鑒價值。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五原县| 温州市| 微博| 淮滨县| 赫章县| 伊吾县| 湖南省| 云安县| 扎鲁特旗| 武安市| 金门县| 增城市| 武夷山市| 隆子县| 安康市| 突泉县| 炎陵县| 莱芜市| 孟州市| 蓬莱市| 呼伦贝尔市| 从江县| 江北区| 万年县| 遵化市| 镇雄县| 盘山县| 大名县| 关岭| 建湖县| 蒙城县| 天水市| 信阳市| 株洲市| 敖汉旗| 嘉义市| 琼海市| 偏关县| 津市市| 临漳县| 丹凤县|