日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

ASP.NET MVC限制同一個IP地址單位時間間隔內(nèi)的請求次數(shù)

瀏覽:653日期:2022-06-08 15:19:06

有時候,當用戶請求一個Controller下的Action,我們希望,在單位時間間隔內(nèi),比如每秒,每分鐘,每小時,每天,每星期,限制同一個IP地址對某個Action的請求次數(shù)。如何做呢?

stefanprodan的MvcThrottle能很好地解決這個問題,以及其它類型的IP限制問題。在這里:https://github.com/stefanprodan/MvcThrottle

把項目從GitHub下載下來,在本地打開。

找到MvcThrottle類庫,打開ThrottlingFilter這個類,在該類的OnActionExecuting方法中修改如下:

//check if limit is reachedif (rateLimit > 0 && throttleCounter.TotalRequests > rateLimit){    //log blocked request    if (Logger != null) Logger.Log(ComputeLogEntry(requestId, identity, throttleCounter, rateLimitPeriod.ToString(), rateLimit, filterContext.HttpContext.Request));    //break execution and return 409     var message = string.IsNullOrEmpty(QuotaExceededMessage) ?"HTTP request quota exceeded! maximum admitted {0} per {1}" : QuotaExceededMessage;    //add status code and retry after x seconds to response    filterContext.HttpContext.Response.StatusCode = (int)QuotaExceededResponseCode;    filterContext.HttpContext.Response.Headers.Set("Retry-After", RetryAfterFrom(throttleCounter.Timestamp, rateLimitPeriod));    filterContext.Result = QuotaExceededResult(filterContext.RequestContext,string.Format(message, rateLimit, rateLimitPeriod),QuotaExceededResponseCode,requestId);    return;}

把以上替換成

//check if limit is reachedif (rateLimit > 0 && throttleCounter.TotalRequests > rateLimit){    filterContext.HttpContext.Response.Redirect("/Error.html");           return;}  

讓其在超過次數(shù)時,跳轉(zhuǎn)到項目根目錄下的Error.html文件。

生成該類庫,類庫MvcThrottle.dll生成在類庫的bin/Debug文件夾下。

在ASP.NET MVC 4 下創(chuàng)建一個項目。

在項目根目錄下創(chuàng)建一個Library文件夾,把剛才的MvcThrottle.dll拷貝其中。

引用Library文件夾下的MvcThrottle.dll組件。

在App_Start文件夾中,修改FilterConfig類如下:

    public class FilterConfig    {public static void RegisterGlobalFilters(GlobalFilterCollection filters){    var throttleFilter = new ThrottlingFilter    {Policy = new ThrottlePolicy(perSecond: 1, perMinute: 10, perHour: 60 * 10, perDay: 600 * 10){    IpThrottling = true},Repository = new CacheRepository()    };    filters.Add(throttleFilter);}    }

創(chuàng)建HomeController,編寫如下:

    public class HomeController : Controller    {public ActionResult Index(){    return View();}[EnableThrottling(PerSecond = 2, PerMinute = 5, PerHour = 30, PerDay = 300)]public ActionResult Other(){    return View();}[HttpPost][EnableThrottling(PerSecond = 2, PerMinute = 5, PerHour = 30, PerDay = 300)]public ActionResult GetSth(){    return Json(new {msg=true});}    }

生成解決方案。

報錯了!What Happened?

原來MvcThrottle是ASP.NET MVC 5下開發(fā)的。

有辦法。重新打開MvcThrottle項目的類庫,在引用中刪除原來的System.Web.Mvc,重新引用本地ASP.NET MVC4版本,重新引用本地的System.Web.Mvc。

重新生成類庫,重新拷貝到Library文件夾下,成功生成解決方案。

在Home/Index.cshtml視圖中:

@{    ViewBag.Title = "Index";    Layout = "~/Views/Shared/_Layout.cshtml";}<h2>Index</h2><input type="button" id="btn" value="請求"/>@section scripts{    <script type="text/javascript">$(function() {    $("#btn").on("click", function() {$.post("@Url.Action("GetSth")",function(data) {    if (data.msg) {alert("請求成功一次");    } else {alert("請求次數(shù)過多");    }});    });});    </script>}

當在單位時間間隔內(nèi)超過規(guī)定次數(shù),就彈出"請求次數(shù)過多"提示框。

在Home/Other.cshtml視圖中:

@{    ViewBag.Title = "Other";    Layout = "~/Views/Shared/_Layout.cshtml";}<h2>Other</h2>

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

標簽: ASP.NET
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
一区二区国产在线观看| 在线综合亚洲| 亚洲在线电影| 极品日韩av| 国产99亚洲| 亚洲五月婷婷| 91精品国产成人观看| 日韩中文欧美| 欧美香蕉视频| av综合电影网站| 美女国产一区二区三区| 日韩国产一二三区| 日韩国产91| 日本视频一区二区| 国产日本精品| 国产精品九九| 高清久久一区| 欧美男人天堂| av一区在线| 欧美~级网站不卡| 黄色在线一区| 噜噜噜躁狠狠躁狠狠精品视频| 免费精品视频| 天堂俺去俺来也www久久婷婷| 免费成人在线影院| 免费视频久久| 午夜天堂精品久久久久| 国产亚洲精品精品国产亚洲综合| 国产精品丝袜在线播放| 国产成人久久精品一区二区三区| 91视频一区| 国内精品福利| 综合亚洲视频| 另类小说一区二区三区| 麻豆网站免费在线观看| 久久国产亚洲| 在线一区视频| 欧美午夜三级| av免费不卡国产观看| 国产综合精品| 午夜在线观看免费一区| 午夜亚洲福利| 久久三级中文| 99视频精品全国免费| 亚洲一区二区av| 亚洲欧洲免费| 国产一区欧美| 欧美日韩精品一区二区三区视频 | 久久a爱视频| 日韩伦理福利| 欧美专区18| 欧美激情一区| 久久久水蜜桃av免费网站| 亚洲专区一区| 国产丝袜一区| 久久精品免费一区二区三区| 蜜桃久久久久久| 麻豆成人在线观看| 色婷婷精品视频| 亚洲人亚洲人色久| 国产精品18| 另类中文字幕国产精品| 婷婷亚洲综合| 日韩精品亚洲专区| 麻豆mv在线观看| 久久av在线| 国产免费av国片精品草莓男男 | 国产精品一区二区免费福利视频| 日产精品一区二区| 国产一区91| 国产+成+人+亚洲欧洲在线| 日韩精品午夜| 国产精品男女| 免费成人在线影院| 美腿丝袜亚洲一区| 黄色成人在线网址| 国产私拍福利精品视频二区| 亚洲精品影视| 日韩精品一区二区三区免费视频| 日韩免费福利视频| 日韩动漫一区| 韩国久久久久久| 日韩一区二区三区在线看| 黄色aa久久| 麻豆久久精品| 欧美久久天堂| 国产高清视频一区二区| 激情丁香综合| 精品中文在线| 国产综合精品一区| 国产精品中文| 久久国产精品99国产| 国际精品欧美精品| 乱人伦精品视频在线观看| 日韩亚洲一区在线| 麻豆91小视频| 亚洲精品进入| 亚洲电影在线| sm捆绑调教国产免费网站在线观看| 欧美经典一区| 久久一级电影| 国产精品99久久免费观看| 亚洲在线国产日韩欧美| 日韩欧美另类一区二区| 亚洲一区二区小说| 蜜桃精品在线| 国产精品大片| 综合一区二区三区| 四虎影视精品| 精品久久久久久久| 蜜臀av在线播放一区二区三区| 中文字幕在线视频久| 国产激情一区| 日本不卡视频在线| 综合亚洲色图| 日韩中文字幕亚洲一区二区va在线| 欧美日韩国产v| 国产一区二区三区不卡av| 国产乱子精品一区二区在线观看| 免费成人在线视频观看| 丝袜美腿一区| 亚洲永久av| 麻豆网站免费在线观看| 精品久久美女| 精品99久久| 粉嫩av一区二区三区四区五区| 国产精品毛片视频| 日本色综合中文字幕| 四虎在线精品| 亚洲人成亚洲精品| 免费成人性网站| 一区二区三区国产在线| 亚洲丝袜啪啪| 一级成人国产| 亚洲3区在线| 免费国产亚洲视频| 日韩精品一区第一页| 亚洲开心激情| 日韩高清欧美激情| 青青草精品视频| 欧美久久久网站| 欧美激情麻豆| 狠狠久久伊人中文字幕| 日韩国产欧美一区二区| 成人片免费看| 99久精品视频在线观看视频| 亚洲高清激情| 欧美日韩四区| 亚洲小说春色综合另类电影| 日本va欧美va瓶| 日韩精品欧美大片| 国产欧美日本| 三上亚洲一区二区| 成人看片网站| 在线视频日韩| 中文字幕一区二区精品区| 日韩av中文字幕一区二区三区| 久久精品 人人爱| 九九99久久精品在免费线bt| 久久久国产精品一区二区中文| 悠悠资源网久久精品| 日韩一区二区三区免费视频| 国产欧美视频在线| 日韩欧美精品| 99国产精品| 日韩 欧美一区二区三区| 国产日韩中文在线中文字幕| 日本一二区不卡| 悠悠资源网久久精品| 日韩一区二区三区高清在线观看| 免费视频一区二区三区在线观看 | 欧美激情网址| 三上悠亚国产精品一区二区三区 | 蜜桃精品在线| 国产精品视区| 国产精品亚洲片在线播放| jizzjizz中国精品麻豆| 亚洲一区二区毛片| 国产精选久久| 在线日韩一区| 日韩av一区二区三区| 在线人成日本视频| 另类激情亚洲| 免费在线成人| 午夜一级在线看亚洲| 国产亚洲字幕| 国产在线成人| 日韩va亚洲va欧美va久久| 岛国av在线网站| 热久久久久久久| 国语精品一区| 免费的成人av| 新版的欧美在线视频| 中文字幕日韩亚洲| 国产精品成人a在线观看| 亚洲色图网站| 久久精品一区二区不卡| 国产日韩欧美三区| 99xxxx成人网| 中文在线а√在线8|