Discuz.Forum/Ips.cs
(开头部分) 3KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Text;
using Discuz.Data;
using Discuz.Entity;
using System.Data;
using Discuz.Common;
using Discuz.Common.Generic;
namespace Discuz.Forum
{
public class Ips
{
/// <summary>
/// 添加被禁止的ip
/// </summary>
/// <param name="ip1">ip段</param>
/// <param name="ip2">ip段</param>
/// <param name="ip3">ip段</param>
/// <param name="ip4">ip段</param>
/// <param name="username">添加人</param>
/// <param name="deteline">起始时间</param>
/// <param name="expiration">过期时间</param>
public static void AddBannedIp(string ipkey, Double deteline, string username)
{
string[] ip = ipkey.Split('.');
deteline = deteline == 0 ? 1 : Math.Round(deteline);
if ((Utils.StrToInt(ip[0], 0) < 255 || Utils.StrToInt(ip[1], 0) < 255 || Utils.StrToInt(ip[2], 0) < 255 || Utils.StrToInt(ip[3], 0) < 255) && (ip[0] != "0" && ip[1] != "0" && ip[2] != "0" && ip[3] != "0"))
{
IpInfo info = new IpInfo();
info.Ip1 = TypeConverter.StrToInt(ip[0]);
info.Ip2 = TypeConverter.StrToInt(ip[1], 0);
info.Ip3 = TypeConverter.StrToInt(ip[2], 0);
info.Ip4 = TypeConverter.StrToInt(ip[3], 0);
info.Username = username;
info.Dateline = DateTime.Now.ToShortDateString();
info.Expiration = DateTime.Now.AddDays(deteline).ToString("yyyy-MM-dd"); ;
Discuz.Data.Ips.AddBannedIp(info);
}
}
/// <summary>
/// 获得被禁止ip列表
/// </summary>
/// <returns></returns>
public static List<IpInfo> GetBannedIpList()
{
List<IpInfo> ipInfoList = Discuz.Data.Ips.GetBannedIpList();
foreach (IpInfo info in ipInfoList)
{
info.Location = GetLocation(info);
}
return ipInfoList;
}
private static string GetLocation(IpInfo info)
{
string ip = string.Format("{0}.{1}.{2}.{3}", info.Ip1, info.Ip2, info.Ip3, info.Ip4);
后面还有 45 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。
