成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

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

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

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

有時候,當(dāng)用戶請求一個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>}

當(dāng)在單位時間間隔內(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)文章:
成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
一区二区三区精品在线观看| 亚洲资源av| 欧美大片国产精品| 亚洲人妖av一区二区| 不卡的av在线播放| 一区二区三区在线看| 欧美一区二区三区在线视频| 好吊日精品视频| 麻豆精品久久精品色综合| 亚洲精品一区二区三区四区高清 | 日韩av一区二区三区四区| 欧美影院一区二区| 欧美日韩系列| 国产日韩欧美一区二区三区四区| 国产成人自拍网| 国产日韩欧美一区二区三区乱码| 91福利小视频| 国产一区视频观看| 国产精品夜夜爽| 中文字幕一区三区| 中文字幕综合网| 亚洲国产一区二区a毛片| ww亚洲ww在线观看国产| 在线亚洲人成电影网站色www| 在线观看日韩av电影| 成人高清伦理免费影院在线观看| 秋霞成人午夜伦在线观看| 亚洲国产精品一区二区www| 一区二区三区在线免费| 色一情一伦一子一伦一区| 激情综合五月婷婷| 性做久久久久久| 国产欧美日韩亚州综合 | 精彩视频一区二区三区| 亚洲欧美视频在线观看| 国产欧美综合在线| 久久影院电视剧免费观看| 欧美一级一区二区| 欧美成人综合网站| 7777精品久久久大香线蕉| 欧美三片在线视频观看| 欧美日本免费一区二区三区| 色拍拍在线精品视频8848| 国产欧美日本| 99国内精品| 国产精品丝袜xxxxxxx| 国产日韩一区二区三区| 色综合激情五月| 欧美日韩一区久久| 91精品国产全国免费观看| 日韩欧美一级精品久久| 26uuu久久天堂性欧美| 国产亚洲欧美在线| 国产精品国产精品国产专区不蜜 | 久久久天堂av| 欧美精彩视频一区二区三区| 国产日韩欧美精品综合| 亚洲免费观看高清完整版在线| 亚洲国产三级在线| 免费成人在线影院| 丁香网亚洲国际| 欧美日韩亚洲一区三区| 在线日韩av| 在线观看国产91| 精品成人一区二区三区四区| 亚洲人成网站精品片在线观看| 亚洲五码中文字幕| 国产电影一区二区三区| 国产在线一区二区三区四区| 国产一区91| 欧美一区二区免费| 中文字幕一区二| 男人的天堂亚洲一区| 成人丝袜18视频在线观看| 在线成人www免费观看视频| 一本大道久久a久久综合| 精品国产1区二区| 亚洲高清免费视频| 成人在线视频首页| 亚洲欧美清纯在线制服| 在线播放亚洲一区| 国产精品理论片| 九色综合国产一区二区三区| 欧美日韩综合| 久久一二三四| 精品粉嫩超白一线天av| 日韩和的一区二区| 91麻豆免费在线观看| 色久综合一二码| 亚洲色欲色欲www| 国产91精品入口| 色噜噜狠狠一区二区三区果冻| 久久精品免费在线观看| 精品一区二区免费看| 亚洲福利国产| 精品三级在线观看| 午夜不卡av免费| 午夜精品久久99蜜桃的功能介绍| 欧美性受极品xxxx喷水| 国产精品久久三| 大白屁股一区二区视频| 一本色道a无线码一区v| 亚洲精品国久久99热| 99精品欧美一区二区三区小说 | 久久老女人爱爱| 欧美激情一区不卡| 亚洲午夜视频在线| 国产精品福利在线播放| 久久久久久麻豆| 日韩二区三区在线观看| 成人晚上爱看视频| 亚洲欧美久久久久一区二区三区| 欧美丝袜自拍制服另类| 国产欧美综合在线观看第十页| 日韩中文字幕亚洲一区二区va在线| 99精品视频一区二区| 色一情一伦一子一伦一区| 中文一区一区三区高中清不卡| 久久99精品国产.久久久久久| 亚洲国产网站| 亚洲高清不卡在线| 国内精品伊人久久久久av一坑| 午夜精品短视频| 久久综合狠狠综合久久激情| 国产成人a级片| 777亚洲妇女| 国内外成人在线| 欧美美女激情18p| 亚洲午夜精品在线| 国产精品最新自拍| 欧美日本一区| jizzjizzjizz欧美| 色哟哟国产精品免费观看| 亚洲欧洲精品一区二区三区 | 六月婷婷一区| 国产精品毛片大码女人| 国产成人精品亚洲午夜麻豆| 欧美一级播放| 亚洲国产精品成人综合色在线婷婷| 麻豆国产精品官网| 久久久www| 樱桃成人精品视频在线播放| 成人app在线观看| av电影天堂一区二区在线| 久久精品日产第一区二区| 国产欧美中文在线| 丰满少妇久久久久久久| 欧美午夜电影在线播放| 五月天婷婷综合| 中文精品视频一区二区在线观看| 国产片一区二区| 成人av资源在线观看| 91精彩视频在线观看| 一区二区三区精品视频| 亚洲视频综合| 国产欧美日韩卡一| 91网站最新地址| 欧美大片免费久久精品三p | 免费成人结看片| 久久亚洲精品小早川怜子| 欧美黄在线观看| 亚洲一级在线观看| 制服丝袜日韩国产| 欧美一区国产一区| 亚洲高清一区二区三区| 精品国产一区二区三区久久影院| 日韩免费观看高清完整版在线观看| 一区二区免费看| 日日骚欧美日韩| 国产精品www994| 欧美极品美女视频| 99v久久综合狠狠综合久久| 日韩女优制服丝袜电影| 国产东北露脸精品视频| 欧美卡1卡2卡| 国产一区二区三区免费观看| 欧美综合久久久| 久久99在线观看| 欧美群妇大交群中文字幕| 国产一区二区伦理片| 日韩一级免费观看| 成人深夜在线观看| 久久综合中文字幕| 成人午夜在线视频| 久久日韩粉嫩一区二区三区| 欧美.日韩.国产.一区.二区| 久久亚区不卡日本| 99综合电影在线视频| 欧美激情资源网| 一本一本久久| 亚洲va韩国va欧美va| 在线观看亚洲专区| 国产高清视频一区| 久久综合色婷婷| 亚洲一二三区在线| 亚洲在线一区二区三区| 久久激情视频| 精品亚洲国产成人av制服丝袜| 欧美一级日韩不卡播放免费| 99国产精品一区|