Browse Source

防火墙

懒得勤快 5 năm trước cách đây
mục cha
commit
f6b4fd79d0

+ 0 - 3
src/Masuit.MyBlogs.Core/Controllers/ErrorController.cs

@@ -5,7 +5,6 @@ using Masuit.MyBlogs.Core.Extensions;
 using Masuit.MyBlogs.Core.Infrastructure.Services;
 using Masuit.MyBlogs.Core.Models.Enum;
 using Masuit.Tools;
-using Masuit.Tools.Core.Net;
 using Masuit.Tools.Security;
 using Masuit.Tools.Systems;
 using Microsoft.AspNetCore.Http;
@@ -119,7 +118,6 @@ namespace Masuit.MyBlogs.Core.Controllers
                 return ResultData(null, false, "访问密码不正确!");
             }
 
-            HttpContext.Session.Set("FullAccessViewToken", token);
             Response.Cookies.Append("Email", email, new CookieOptions
             {
                 Expires = DateTime.Now.AddYears(1)
@@ -129,7 +127,6 @@ namespace Masuit.MyBlogs.Core.Controllers
                 Expires = DateTime.Now.AddYears(1)
             });
             return ResultData(null);
-
         }
 
         /// <summary>

+ 4 - 5
src/Masuit.MyBlogs.Core/Extensions/FirewallAttribute.cs

@@ -4,7 +4,6 @@ using Masuit.MyBlogs.Core.Common;
 using Masuit.MyBlogs.Core.Configs;
 using Masuit.MyBlogs.Core.Extensions.Hangfire;
 using Masuit.Tools;
-using Masuit.Tools.Core.Net;
 using Masuit.Tools.Security;
 using Microsoft.AspNetCore.Http;
 using Microsoft.AspNetCore.Mvc;
@@ -27,20 +26,20 @@ namespace Masuit.MyBlogs.Core.Extensions
         {
             var request = context.HttpContext.Request;
             var ip = context.HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
-            var sessionToken = context.HttpContext.Session.Get<string>("FullAccessViewToken");
-            if (ip.IsDenyIpAddress() && string.IsNullOrEmpty(sessionToken))
+            var tokenValid = request.Cookies["Email"].MDString3(AppConfig.BaiduAK).Equals(request.Cookies["FullAccessToken"]);
+            if (ip.IsDenyIpAddress() && !tokenValid)
             {
                 AccessDeny(ip, request, "黑名单IP地址");
                 context.Result = new BadRequestObjectResult("您当前所在的网络环境不支持访问本站!");
                 return;
             }
 
-            if (!bool.Parse(CommonHelper.SystemSettings.GetOrAdd("FirewallEnabled", "true")) || context.Filters.Any(m => m.ToString().Contains(nameof(AllowAccessFirewallAttribute))) || request.Cookies["Email"].MDString3(AppConfig.BaiduAK).Equals(request.Cookies["FullAccessToken"]))
+            if (CommonHelper.SystemSettings.GetOrAdd("FirewallEnabled", "true") == "false" || context.Filters.Any(m => m.ToString().Contains(nameof(AllowAccessFirewallAttribute))) || tokenValid)
             {
                 return;
             }
 
-            if (ip.IsInDenyArea() && string.IsNullOrEmpty(sessionToken))
+            if (ip.IsInDenyArea() && !tokenValid)
             {
                 AccessDeny(ip, request, "访问地区限制");
                 context.Result = new RedirectToActionResult("AccessDeny", "Error", null);