Asp.net Core 如何設置黑白名單(路由限制)
在原有的AspnetMvc中我們會使用到路由訪問限制,在AppStart/RouteConfig.cs中寫上如下:
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
但是在aspnet core mvc已經(jīng)不存在RouteConfig.cs的這個給文件和這種寫法,我們該如何在Aspnet core mvc中實現(xiàn)相同效果呢?
這里我們需要使用到的中間件時UrlFirewall
1)說明:
UrlFirewall 是一個開源、輕便的對http請求進行過濾的中間件,可使用在webapi或者網(wǎng)關
2)介紹:
UrlFirewall 是一款http請求過濾中間件,可以和網(wǎng)關(Ocelot)搭配,實現(xiàn)屏蔽外網(wǎng)訪問內(nèi)部接口,只讓內(nèi)部接口之間相互通訊,而不暴露到外部。它支持黑名單模式和白名單模式,支持自定義http請求響應代碼。具有良好的擴展性,可自己實現(xiàn)驗證邏輯,從數(shù)據(jù)庫或者Redis緩存等介質(zhì)實現(xiàn)對規(guī)則的檢索
3)使用:
1],從Nuget添加組件到你的ASP.NET Core項目
Install-Package UrlFirewall.AspNetCore
2],配置DI在startup.cs的ConfigureServices
services.AddUrlFirewall(options =>
{
options.RuleType = UrlFirewallRuleType.Black;
options.SetRuleList(Configuration.GetSection("UrlBlackList"));
options.StatusCode = HttpStatusCode.NotFound;
});
3],配置中間件在startup.cs 中的Configure
app.UseUrlFirewall();//啟用防火墻 開啟黑名單請求路徑
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
//HttpContext
app.UseStaticHttpContext();
}
else
{
app.UseExceptionHandler("/Home/Error");
app.UseHsts();
}
4],根絕2中的Configuration.GetSection("UrlBlackList")需要在使用的Section名稱·UrlBlackList·我們在appsettings.json/appsettings.Devolopment.json文件中添加以下配置
{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
},
//防火墻過濾這類型的訪問
"UrlBlackList": [
{
"Url": "{resource}.axd/{*pathInfo}",
"Method": "All"
}
]
}
這樣,我們服務器上的.axd的就不會被請求到
到此這篇關于Asp.net Core 如何設置黑白名單(路由限制)的文章就介紹到這了,更多相關Asp.net Core設置路由黑白名單 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
asp.net Web Services上傳和下載文件(完整代碼)
隨著Internet技術的發(fā)展和跨平臺需求的日益增加,Web Services的應用越來越廣,我們不但需要通過Web Services傳遞字符串信息,而且需要傳遞二進制文件信息。2008-12-12
asp.net頁面與頁面之間傳參數(shù)值方法(post傳值和get傳值)
這篇文章主要介紹了asp.net頁面與頁面之間傳參數(shù)值方法,說明了post傳值和get傳值的使用方法,需要的朋友可以參考下2014-02-02
C# javaScript函數(shù)的相互調(diào)用
如何在JavaScript訪問C#函數(shù),如何在C#中訪問JavaScript的已有變量等實現(xiàn)方法2008-12-12
將DataRow轉(zhuǎn)成指定類型的類,并返回這個類的對象(帶值)
由于實際需要 將DataRow轉(zhuǎn)成指定類型的類,并返回這個類的對象(帶值) ,實現(xiàn)方法看下面的代碼。2008-04-04
asp.net提取多層嵌套json數(shù)據(jù)的方法
這篇文章主要介紹了asp.net提取多層嵌套json數(shù)據(jù)的方法,結(jié)合實例形式較為詳細的分析了asp.net解析json格式數(shù)據(jù)的步驟與相關操作技巧,具有一定參考借鑒價值,需要的朋友可以參考下2016-06-06

