web api 限制單個IP在一定時間內訪問次數

2022-07-03 03:57:10 字數 2684 閱讀 7313

ps:下面例項是每隔30秒訪問次數不超過3次

1、filter:

複製**

】被限制了【】次數",ipmodel.ip,ipmodel.limit));

actioncontext.response = actioncontext.request.createresponse(httpstatuscode.badrequest, "系統正忙,請稍微再試。");

return;

}base.onactionexecuting(actioncontext);

}

}
}

複製**

2、ipcachehelper:

複製**

using lemon.stats.model;

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace lemon.stats.apis

/// /// 設定時間,預設maxtimes=3, partsecond=30

///

/// 最大請求次數

/// 請求單位時間

public static void settime(int _maxtimes, int _partsecond)

/// /// 檢測一段時間內,ip的請求次數是否可以繼續請求和使用

///

/// ip

///

public static bool checkisable(string ip)

else

var nowtime = datetime.now;

if (isfailaddin)

else

}else

#endregion

}else

else

}else

#endregion}}

}}

/// /// 檢測一段時間內,ip的請求次數是否可以繼續請求和使用

///

/// ip

///

public static ipcacheinfomodel getiplimitinfo(string ip)

else

var nowtime = datetime.now;

if (isfailaddin)

else

}else

#endregion

}else

else

}else

#endregion}}

}}

}}複製**

3、ipcacheinfomodel:

複製**

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.threading.tasks;

namespace lemon.stats.model

/// /// 限制次數

///

public int limit

/// /// 是否可以訪問

///

public bool isvisit

/// /// 訪問時間

///

private listreqtime = new list();

/// /// 訪問時間

///

public listreqtime

set

}}

}

複製**

4、action:

複製**

///

/// ip,pv(vv),uv,註冊使用者點選量統計

/// 先執行ipactionfilter過濾器,再執行channelactionfilter過濾器

/// 先執行後面的過濾器,再執行前面的過濾器,執行方式倒序執行順序

///

[channelactionfilter, ipactionfilter, routeprefix("stats")]

public class statscontroller : apicontroller

}複製**

有序陣列合併的並行演算法(有一定限制)

如果a a1,a2,am 和b b1,b2,bn 是兩個有序的公升序陣列,合併陣列a和b就行形成乙個新的公升序陣列包含a和b的有所有元素,假設a 2,4,11,12,14,35,95,99 b 6,7,9,25,26,31,42,85,87,102,105 如果合併a和b的陣列,序列演算法會遍歷兩個...

矩陣(矩陣A在旋轉一定角度後能否與矩陣B相等)

problem description x終於開始玩一些比較高大上的東西了,比如矩陣。給出兩個n n的矩陣a,b。他想知道矩陣a在順時針旋轉一定角度後是否會和矩陣b完全一樣。input 有多組輸入。每組輸入先輸入乙個整數n n 50 代表矩陣的大小。接下來的n行,每行有n個整數。代表矩陣a。再接下來...

擬規定網路平台在一定限期後需刪除使用者資訊

對部分企業 實施網路安全審查 談及電信詐騙頻發,趙澤良認為,偽基站僅是電信詐騙頻發的原因之一,想要從根本上對電信詐騙進行治理,還需要從法律法規 標準 行政監管 打擊犯罪等各方面進行綜合治理。任何國家 任何機構 任何單位都不該利用資訊科技優勢來竊取個人隱私 個人資料。趙澤良說,就此,需要各方面共同制定...