update ZR.Admin.WebApi

This commit is contained in:
不做码农 2022-04-09 15:18:20 +08:00
parent 1daa137d98
commit ed483d8b56
2 changed files with 58 additions and 138 deletions

View File

@ -1,70 +0,0 @@
using Common;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Logging;
using NLog;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace ZRAdmin.Middleware
{
public class RequestIPMiddleware
{
private readonly RequestDelegate _next;
static readonly Logger Logger = LogManager.GetCurrentClassLogger();//声明NLog变量
public RequestIPMiddleware(RequestDelegate next)
{
_next = next;
}
public async Task Invoke(HttpContext context)
{
var url = context.Request.Path.ToString().ToLower();
string userip = Tools.GetRealIP();
//string agent = HttpContextExtension.GetUserAgent(context);
string[] urls = new string[] { "/css", "/js", "/images", "/lib", "/home/error", "/api" };
var strRegex = "(.jpg|.png|.gif|.php|.cfg|.ico)$"; //用于验证图片扩展名的正则表达式
var re = new Regex(strRegex);
//阻止.php访问往下请求
if (new Regex("(.php)$").IsMatch(url))
{
await context.Response.WriteAsync("hello");
return;
}
//var ip_info = IpTool.Search(userip);
////bool flag = ((IList)urls).Contains(url);
//if (!re.IsMatch(url) )
//{
Logger.Debug($"IP中间件请求访问IP[{userip}]");
//}
//两种方式传递下去 一是invoke 一个直接next
//await _next.Invoke(context);
await _next(context);
}
}
public static class RequestIPMiddlewareExtensions
{
/// <summary>
/// 用于引用请求IP中间件
/// </summary>
/// <param name="builder">扩展类型</param>
/// <returns>IApplicationBuilder</returns>
public static IApplicationBuilder UseRequestIPMiddleware(this IApplicationBuilder builder)
{
return builder.UseMiddleware<RequestIPMiddleware>();
}
}
}

View File

@ -12,15 +12,6 @@
<NoWarn>1701;1702;1591;1570</NoWarn>
</PropertyGroup>
<ItemGroup>
<Compile Remove="Filters\GlobalExceptionFilter.cs" />
<Compile Remove="Middleware\RequestIPMiddleware.cs" />
</ItemGroup>
<ItemGroup>
<Content Remove="wwwroot\CodeGenTemplate\VueTemplate.txt" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="AspNetCoreRateLimit" Version="4.0.2" />
<PackageReference Include="EPPlus" Version="5.8.6" />
@ -67,7 +58,6 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Controllers\Business\" />
<Folder Include="DataProtection\" />
<Folder Include="wwwroot\export\" />
</ItemGroup>