Commit b0fef222 by DESKTOP-115LT8U\admin

添加白名单

parent ef67265d
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
using Microsoft.AspNetCore.Mvc.Filters; using Microsoft.AspNetCore.Mvc.Filters;
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration;
using Performance.DtoModels; using Performance.DtoModels;
using Performance.DtoModels.AppSettings;
namespace Performance.Api namespace Performance.Api
{ {
...@@ -95,6 +96,7 @@ public class AntiSqlInjectFilter : IAsyncActionFilter ...@@ -95,6 +96,7 @@ public class AntiSqlInjectFilter : IAsyncActionFilter
public AntiSqlInjectFilter(IConfiguration configuration) public AntiSqlInjectFilter(IConfiguration configuration)
{ {
_configuration = configuration; _configuration = configuration;
} }
/// <inheritdoc /> /// <inheritdoc />
...@@ -103,6 +105,17 @@ public AntiSqlInjectFilter(IConfiguration configuration) ...@@ -103,6 +105,17 @@ public AntiSqlInjectFilter(IConfiguration configuration)
var openAntiSqlInject = _configuration.GetValue("Application:OpenAntiSqlInject", false); var openAntiSqlInject = _configuration.GetValue("Application:OpenAntiSqlInject", false);
if (openAntiSqlInject) if (openAntiSqlInject)
{ {
bool judgmentWhitelist = true;
var path = string.Format(context.RouteData.Values["Controller"] + @"/" + context.RouteData.Values["action"]).ToLower();
var routeWhiteLists = _configuration.GetSection("RouteWhiteList").AsEnumerable();
foreach (var item in routeWhiteLists)
{
if (!string.IsNullOrEmpty(item.Value))
if (item.Value.Equals(path))
judgmentWhitelist = false;
}
if (judgmentWhitelist)
foreach (var value in context.ActionArguments.Where(w => w.Value != null).Select(w => w.Value)) foreach (var value in context.ActionArguments.Where(w => w.Value != null).Select(w => w.Value))
{ {
//如果不是值类型或接口,不需要过滤 //如果不是值类型或接口,不需要过滤
...@@ -137,5 +150,6 @@ public AntiSqlInjectFilter(IConfiguration configuration) ...@@ -137,5 +150,6 @@ public AntiSqlInjectFilter(IConfiguration configuration)
} }
await next(); await next();
} }
} }
} }
...@@ -46,5 +46,11 @@ ...@@ -46,5 +46,11 @@
], ],
"Period": "1", // 单位为秒 "Period": "1", // 单位为秒
"Limit": 1 "Limit": 1
},
"RouteWhiteList": {
"Route": [
"account/logins",
"account/quick/login"
]
} }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment