XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore.ServerInteractive/Profiles/ServerBaseProfile.cs
+2
-2
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/DataTable/XFEDataTable.cs
+1
-0
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Helpers/UserHelper.cs
+1
-0
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/EntryPointVerifyServer.cs
+2
-2
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/IpBannerService.cs
+4
-4
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/XFEServerCore.cs
+1
-1
XFEstudio/XFEExtension.NetCore.ServerInteractive
重命名封禁IP相关字段并修正属性名拼写
统一BannedIpAddressList命名,修正URL属性拼写错误,调整CyberCommServer属性名,补充异常命名空间引用。
a70c75b
代码差异
6 个文件
+11
-9
@@ -14,8 +14,8 @@ public partial class ServerBaseProfile : XFEProfile
14
14
/// 封禁的IP地址列表
15
15
/// </summary>
16
16
[ProfileProperty]
17
[ProfilePropertyAddGet("Current._bannedIPAddressList.CurrentProfile = Current")]
18
[ProfilePropertyAddGet("return Current._bannedIPAddressList")]
17
[ProfilePropertyAddGet("Current._bannedIpAddressList.CurrentProfile = Current")]
18
[ProfilePropertyAddGet("return Current._bannedIpAddressList")]
19
19
private ProfileList<IpAddressInfo> _bannedIpAddressList = [];
20
20
/// <summary>
21
21
/// 服务器上次绑定的IP地址字典
@@ -2,6 +2,7 @@
2
2
using System.Reflection;
3
3
using System.Text.Json;
4
4
using XFEExtension.NetCore.AutoConfig;
5
using XFEExtension.NetCore.Exceptions;
5
6
using XFEExtension.NetCore.ServerInteractive.Interfaces;
6
7
using XFEExtension.NetCore.ServerInteractive.Models;
7
8
using XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
@@ -1,6 +1,7 @@
1
1
using System.Net;
2
2
using System.Text.Json;
3
3
using System.Text.RegularExpressions;
4
using XFEExtension.NetCore.Exceptions;
4
5
using XFEExtension.NetCore.ServerInteractive.Interfaces;
5
6
using XFEExtension.NetCore.ServerInteractive.Models.ServerModels;
6
7
using XFEExtension.NetCore.ServerInteractive.Models.UserModels;
@@ -15,12 +15,12 @@ public class EntryPointVerifyServer : ServerCoreVerifyServiceBase
15
15
public override bool VerifyRequest(object? sender, CyberCommRequestEventArgs e, ServerCoreReturnArgs r)
16
16
{
17
17
Console.Write($"[DEBUG]({XFEServerCore.ServerCoreName})【{XFEServerCore.GetIpFunction(e)}】接收到请求");
18
if (ServerBaseProfile.BannedIPAddressList.Contains(e.ClientIP))
18
if (ServerBaseProfile.BannedIpAddressList.Contains(e.ClientIP))
19
19
{
20
20
Console.WriteLine("-校验失败");
21
21
throw r.Error("您的IP已被封禁", HttpStatusCode.Forbidden);
22
22
}
23
if (e.RequestURL?.Segments.Length < 2 || $"{e.RequestURL?.Segments[0]}{e.RequestURL?.Segments[1]}" != $"/{ServerBaseProfile.EntryPoint}" || e.RequestMethod != "POST")
23
if (e.RequestUrl?.Segments.Length < 2 || $"{e.RequestUrl?.Segments[0]}{e.RequestUrl?.Segments[1]}" != $"/{ServerBaseProfile.EntryPoint}" || e.RequestMethod != "POST")
24
24
{
25
25
Console.WriteLine("-校验失败");
26
26
throw r.Error("请求的API接口不正确", HttpStatusCode.BadGateway);
@@ -29,13 +29,13 @@ public class IpBannerService : ServerCoreUserServiceBase
29
29
case "get_bannedIpList":
30
30
Console.Write("获取禁止的IP地址列表请求");
31
31
UserHelper.ValidatePermission(Json?["session"]?.ToString(), Json?["computerInfo"]?.ToString(), ReturnArgs.Args.ClientIP, GetPermission, GetEncryptedUserLoginModelFunction(), GetUserFunction(), ReturnArgs);
32
await Close(ServerBaseProfile.BannedIPAddressList.ToJson());
32
await Close(ServerBaseProfile.BannedIpAddressList.ToJson());
33
33
break;
34
34
case "add_bannedIp":
35
35
Console.Write($"添加禁止的IP地址请求 添加:{Json?["bannedIp"]}");
36
36
UserHelper.ValidatePermission(Json?["session"]?.ToString(), Json?["computerInfo"]?.ToString(), ReturnArgs.Args.ClientIP, AddPermission, GetEncryptedUserLoginModelFunction(), GetUserFunction(), ReturnArgs);
37
37
if (Json?["bannedIp"] is null) throw Error("无IP地址传入");
38
ServerBaseProfile.BannedIPAddressList.Add(new()
38
ServerBaseProfile.BannedIpAddressList.Add(new()
39
39
{
40
40
IpAddress = Json?["bannedIp"]?.ToString() ?? string.Empty,
41
41
Notes = Json?["notes"]?.ToString()
@@ -45,8 +45,8 @@ public class IpBannerService : ServerCoreUserServiceBase
45
45
case "remove_bannedIp":
46
46
Console.Write($"删除禁止的IP地址请求 移除:{Json?["bannedIp"]}");
47
47
UserHelper.ValidatePermission(Json?["session"]?.ToString(), Json?["computerInfo"]?.ToString(), ReturnArgs.Args.ClientIP, RemovePermission, GetEncryptedUserLoginModelFunction(), GetUserFunction(), ReturnArgs);
48
var targetIp = ServerBaseProfile.BannedIPAddressList.FirstOrDefault(ip => ip.IpAddress == Json?["bannedIp"]?.ToString()) ?? throw Error("无IP地址传入");
49
await Close(ServerBaseProfile.BannedIPAddressList.Remove(targetIp).ToString());
48
var targetIp = ServerBaseProfile.BannedIpAddressList.FirstOrDefault(ip => ip.IpAddress == Json?["bannedIp"]?.ToString()) ?? throw Error("无IP地址传入");
49
await Close(ServerBaseProfile.BannedIpAddressList.Remove(targetIp).ToString());
50
50
break;
51
51
}
52
52
}
@@ -194,7 +194,7 @@ public abstract class XFEServerCore : ServerCoreServiceBase
194
194
/// <returns></returns>
195
195
public override async Task StartServerCore()
196
196
{
197
CyberCommServer.ServerURLs = [BindingIpAddress];
197
CyberCommServer.ServerUrLs = [BindingIpAddress];
198
198
CyberCommServer.RequestReceived += CyberCommServer_RequestReceived;
199
199
await CyberCommServer.StartCyberCommServer();
200
200
}