懒得勤快 3 年之前
父节点
当前提交
f2460c661a

+ 2 - 2
src/Masuit.MyBlogs.Core/Controllers/FirewallController.cs

@@ -10,10 +10,10 @@ using Masuit.Tools.AspNetCore.ResumeFileResults.Extensions;
 using Masuit.Tools.Core.Net;
 using Masuit.Tools.Core.Net;
 using Masuit.Tools.Security;
 using Masuit.Tools.Security;
 using Masuit.Tools.Strings;
 using Masuit.Tools.Strings;
+using Microsoft.AspNetCore.Http.Extensions;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.Net.Http.Headers;
 using Microsoft.Net.Http.Headers;
 using Newtonsoft.Json;
 using Newtonsoft.Json;
-using System.Web;
 using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
 using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
 
 
 namespace Masuit.MyBlogs.Core.Controllers;
 namespace Masuit.MyBlogs.Core.Controllers;
@@ -147,7 +147,7 @@ public class FirewallController : Controller
         RedisClient.LPush("intercept", new IpIntercepter()
         RedisClient.LPush("intercept", new IpIntercepter()
         {
         {
             IP = ip,
             IP = ip,
-            RequestUrl = HttpUtility.UrlDecode(Request.Scheme + "://" + Request.Host + "/craw/" + id),
+            RequestUrl = Request.GetDisplayUrl(),
             Time = DateTime.Now,
             Time = DateTime.Now,
             Referer = Request.Headers[HeaderNames.Referer],
             Referer = Request.Headers[HeaderNames.Referer],
             UserAgent = Request.Headers[HeaderNames.UserAgent],
             UserAgent = Request.Headers[HeaderNames.UserAgent],

+ 8 - 3
src/Masuit.MyBlogs.Core/Controllers/PostController.cs

@@ -32,6 +32,7 @@ using Masuit.Tools.Models;
 using Masuit.Tools.Security;
 using Masuit.Tools.Security;
 using Masuit.Tools.Strings;
 using Masuit.Tools.Strings;
 using Masuit.Tools.Systems;
 using Masuit.Tools.Systems;
+using Microsoft.AspNetCore.Http.Extensions;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.AspNetCore.Mvc;
 using Microsoft.EntityFrameworkCore;
 using Microsoft.EntityFrameworkCore;
 using Microsoft.Net.Http.Headers;
 using Microsoft.Net.Http.Headers;
@@ -41,7 +42,6 @@ using System.Linq.Expressions;
 using System.Net;
 using System.Net;
 using System.Text;
 using System.Text;
 using System.Text.RegularExpressions;
 using System.Text.RegularExpressions;
-using System.Web;
 using Z.EntityFramework.Plus;
 using Z.EntityFramework.Plus;
 using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
 using SameSiteMode = Microsoft.AspNetCore.Http.SameSiteMode;
 
 
@@ -91,7 +91,7 @@ namespace Masuit.MyBlogs.Core.Controllers
             {
             {
                 if (notRobot && string.IsNullOrEmpty(HttpContext.Session.Get<string>("post" + id)))
                 if (notRobot && string.IsNullOrEmpty(HttpContext.Session.Get<string>("post" + id)))
                 {
                 {
-                    BackgroundJob.Enqueue<IHangfireBackJob>(job => job.RecordPostVisit(id, ClientIP, Request.Headers[HeaderNames.Referer].ToString(), HttpUtility.UrlDecode(Request.Scheme + "://" + Request.Host + Request.Path + Request.QueryString)));
+                    BackgroundJob.Enqueue<IHangfireBackJob>(job => job.RecordPostVisit(id, ClientIP, Request.Headers[HeaderNames.Referer].ToString(), Request.GetDisplayUrl()));
                     HttpContext.Session.Set("post" + id, id.ToString());
                     HttpContext.Session.Set("post" + id, id.ToString());
                 }
                 }
 
 
@@ -131,10 +131,15 @@ namespace Masuit.MyBlogs.Core.Controllers
 
 
             if (notRobot && string.IsNullOrEmpty(HttpContext.Session.Get<string>("post" + id)))
             if (notRobot && string.IsNullOrEmpty(HttpContext.Session.Get<string>("post" + id)))
             {
             {
-                BackgroundJob.Enqueue<IHangfireBackJob>(job => job.RecordPostVisit(id, ClientIP, Request.Headers[HeaderNames.Referer].ToString(), HttpUtility.UrlDecode(Request.Scheme + "://" + Request.Host + Request.Path + Request.QueryString)));
+                BackgroundJob.Enqueue<IHangfireBackJob>(job => job.RecordPostVisit(id, ClientIP, Request.Headers[HeaderNames.Referer].ToString(), Request.GetDisplayUrl()));
                 HttpContext.Session.Set("post" + id, id.ToString());
                 HttpContext.Session.Set("post" + id, id.ToString());
             }
             }
 
 
+            if (post.LimitMode == RegionLimitMode.OnlyForSearchEngine)
+            {
+                BackgroundJob.Enqueue<IHangfireBackJob>(job => job.RecordPostVisit(id, ClientIP, Request.Headers[HeaderNames.Referer].ToString(), Request.GetDisplayUrl()));
+            }
+
             return View(post);
             return View(post);
         }
         }