日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
怎么在ASP.NETCore利用UrlFirewall過(guò)濾請(qǐng)求-創(chuàng)新互聯(lián)

怎么在ASP.NET Core利用UrlFirewall過(guò)濾請(qǐng)求?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

建湖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

UrlFirewall 介紹


UrlFirewall 是一款http請(qǐng)求過(guò)濾中間件,可以和網(wǎng)關(guān)(Ocelot)搭配,實(shí)現(xiàn)屏蔽外網(wǎng)訪問(wèn)內(nèi)部接口,只讓內(nèi)部接口之間相互通訊,而不暴露到外部。它支持黑名單模式和白名單模式,支持自定義http請(qǐng)求響應(yīng)代碼。具有良好的擴(kuò)展性,可自己實(shí)現(xiàn)驗(yàn)證邏輯,從數(shù)據(jù)庫(kù)或者Redis緩存等介質(zhì)實(shí)現(xiàn)對(duì)規(guī)則的檢索。

三.使用


1.從Nuget添加組件到你的ASP.NET Core項(xiàng)目

Install-Package UrlFirewall.AspNetCore

2.配置DI

public void ConfigureServices(IServiceCollection services)
{
 services.AddUrlFirewall(options =>
 {
  options.RuleType = UrlFirewallRuleType.Black;
  options.SetRuleList(Configuration.GetSection("UrlBlackList"));
  options.StatusCode = HttpStatusCode.NotFound;
 });
 services.AddMvc();
 //...
}

3.配置中間件

UrlFirewall中間件的位置必須放在第一個(gè)

public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
 //Configure url firewall middleware. Top most.
 app.UseUrlFirewall();

 if (env.IsDevelopment())
 {
  app.UseDeveloperExceptionPage();
 }
 app.UseMvc();
}

4.配置規(guī)則

根據(jù)步驟2,使用的Section名稱·UrlBlackList·我們?cè)赼ppsettings.json/appsettings.Devolopment.json文件中添加以下配置;

{
 "Logging": {
 "IncludeScopes": false,
 "LogLevel": {
  "Default": "Debug",
  "System": "Information",
  "Microsoft": "Information"
 }
 },
 "UrlBlackList": [
 {
  "Url": "/api/cart/add",
  "Method": "All"
 },
 {
  "Url": "/api/cart/del",
  "Method": "Post"
 },
 {
  "Url": "/api/cart/list",
  "Method": "Get"
 },
 {
  "Url": "/api/product/*",
  "Method": "All"
 }
 ]
}

Url 字段表示要攔截的http請(qǐng)求url,支持通配符*和?,*表示匹配任意個(gè)數(shù)任意字符,?表示匹配一個(gè)任意字符。Method表示http請(qǐng)求方法,All代表所有,還有Get Post Delete Put。

四.擴(kuò)展


如果你想要實(shí)現(xiàn)自己的驗(yàn)證邏輯,或者從數(shù)據(jù)庫(kù)、Redis緩存等介質(zhì)查詢、獲取數(shù)據(jù)來(lái)進(jìn)行驗(yàn)證;你可以實(shí)現(xiàn)IUrlFirewallValidator接口,然后調(diào)用AddUrlFirewallValidator方法替換默認(rèn)實(shí)現(xiàn)即可。

示例:

services.AddUrlFirewall(options =>
{
 options.RuleType = UrlFirewallRuleType.Black;
 options.SetRuleList(Configuration.GetSection("UrlBlackList"));
 options.StatusCode = HttpStatusCode.NotFound;
}).AddUrlFirewallValidator();

看完上述內(nèi)容,你們掌握怎么在ASP.NET Core利用UrlFirewall過(guò)濾請(qǐng)求的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!


分享文章:怎么在ASP.NETCore利用UrlFirewall過(guò)濾請(qǐng)求-創(chuàng)新互聯(lián)
鏈接URL:http://www.dlmjj.cn/article/cchdss.html