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

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

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

瀏覽:657日期: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)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接

標簽: ASP.NET
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
国产h片在线观看| 黄色aa久久| 99视频精品全国免费| 91久久精品无嫩草影院| 喷白浆一区二区| 日韩精品一级中文字幕精品视频免费观看| 亚洲特色特黄| 精品一区在线| 激情婷婷综合| 国产真实久久| 一区视频在线| 免费看的黄色欧美网站| 夜夜精品视频| 免费视频一区二区| 亚州av一区| 国产亚洲精品精品国产亚洲综合| 国产精品探花在线观看| 欧美aⅴ一区二区三区视频| 欧美亚洲色图校园春色| 精品一区视频| 色一区二区三区| 欧美成人国产| 亚洲欧美在线专区| 国产日韩欧美中文在线| 精品一区电影| 欧美日韩在线播放视频| 在线一区欧美| 国产三级一区| 98精品久久久久久久| 伊人久久高清| 日韩中文字幕1| 国产精品一区二区av交换| 久久久国产精品网站| 精品国产欧美日韩| 成人av二区| 日本午夜精品久久久久| 国内精品伊人| 欧美特黄一级| 国产欧美激情| 色88888久久久久久影院| av不卡免费看| 国产精品白丝一区二区三区| 日本精品在线中文字幕| 在线看片日韩| 欧美激情日韩| 国模 一区 二区 三区| 日本成人在线一区| 狠狠久久伊人| 国产高清一区| 国产欧美激情| 欧美亚洲国产精品久久| 日韩精品中文字幕吗一区二区| 精品国产一区二区三区性色av| 久久婷婷av| 91免费精品国偷自产在线在线| 成人国产精品一区二区网站| 亚洲激情二区| 欧美激情视频一区二区三区在线播放| 免费视频亚洲| 国产精品白丝久久av网站| 亚洲成人日韩| 国产精品a级| 亚洲精品午夜av福利久久蜜桃| 天堂精品久久久久| 精品视频一区二区三区在线观看 | 欧美日韩在线二区| 日本视频一区二区| 黄色不卡一区| 精品国产乱码| 亚洲精品日本| 中文另类视频| 国产精品v一区二区三区| 黄色免费成人| 中文字幕在线视频久| 日本视频一区二区| 久久亚洲成人| 美女免费视频一区| 先锋亚洲精品| а√天堂中文在线资源8| 婷婷五月色综合香五月| 欧美综合另类| 激情中国色综合| 日本不卡不码高清免费观看 | 免费在线小视频| 久久国产欧美日韩精品| 一区在线免费观看| 在线观看精品| 日本少妇一区二区| 久久亚洲风情| 日韩视频一区二区三区在线播放免费观看 | 亚洲欧美日本视频在线观看| 福利视频一区| 国产免费av国片精品草莓男男| 九一国产精品| 日韩欧美一区二区三区在线观看| 国产日韩亚洲| 亚洲三级毛片| 久久国产福利| 蜜臀久久99精品久久一区二区| 国产精东传媒成人av电影| 视频在线在亚洲| 免费av一区二区三区四区| 亚洲精品永久免费视频| 精品国产午夜肉伦伦影院| 日韩高清电影一区| 免费在线视频一区| 亚洲黄色在线| 红桃视频欧美| 午夜精品一区二区三区国产| 亚洲四虎影院| 日韩亚洲一区在线| 四虎国产精品免费观看| 麻豆一区二区三区| 蜜桃av一区二区在线观看| 久久亚洲在线| 日韩视频网站在线观看| 福利欧美精品在线| 精品理论电影在线| 精品午夜视频| 国际精品欧美精品| 福利欧美精品在线| 福利一区二区三区视频在线观看| 国内精品伊人| 日韩精品中文字幕第1页| 久久久久久一区二区| 国产白浆在线免费观看| 日韩在线免费| 国产在线欧美| 99视频一区| 好吊日精品视频| 免费精品国产| 尤物在线精品| 一区二区电影| 亚洲精一区二区三区| 日韩一区二区三区在线看| 日韩精品一区二区三区免费视频| 日本91福利区| 久久精品99国产精品日本| 青青青国产精品| 国产精品调教| 成人精品视频| 亚洲韩日在线| 亚洲我射av| 日韩成人一级| 欧美日韩精品一区二区三区在线观看| 欧美日韩91| 国精品产品一区| 久久久久国产| 丝瓜av网站精品一区二区| 亚洲精品四区| 国产精品一线| 日韩在线欧美| 激情91久久| 日韩欧乱色一区二区三区在线| 欧美黑人做爰爽爽爽| аⅴ资源天堂资源库在线| 亚洲女同中文字幕| 日本91福利区| 精品中文字幕一区二区三区| 国产欧美一区二区三区精品酒店| 欧美成人基地 | 国产精品久久乐| 正在播放日韩精品| 亚洲欧美日韩视频二区| 日本亚洲视频| 欧美激情福利| 国产v综合v| 免费欧美在线视频| 国产精品麻豆成人av电影艾秋| 久久精品国产亚洲一区二区三区| 成人在线网站| 亚洲精一区二区三区| 精品国产黄a∨片高清在线| 日韩高清中文字幕一区二区| 国产毛片久久| 97久久中文字幕| 国产不卡人人| 亚洲精选成人| 国产白浆在线免费观看| 日韩一区精品字幕| 美女久久久久久| 亚洲国产不卡| 国产精品亚洲片在线播放| 中文字幕人成乱码在线观看 | 神马午夜在线视频| 欧美成人亚洲| 国产欧美日本| 精品视频免费| 欧美成人国产| 国产不卡精品| 国产精品日韩欧美一区| 久久狠狠亚洲综合| 婷婷成人基地| 美女国产一区二区三区| 香蕉国产精品| 国产精品18| 一区在线视频观看| 日韩国产在线一| 久久蜜桃资源一区二区老牛| 欧美日本精品|