gpt4 book ai didi

.net - 在数据库中存储 IP 地址的最佳方式

转载 作者:搜寻专家 更新时间:2023-10-30 19:54:59 26 4
gpt4 key购买 nike

我需要创建一个表来存储列入黑名单的 IP 地址,以防我的博客中出现垃圾邮件发送者。我想知道:

  • 存储 IP 地址的最佳数据类型是什么。
  • 我可以在此表中列出您认为可能对打击垃圾邮件发送者有用的其他字段。

我使用 MS SQL 2008 作为我的数据库。

最佳答案

IP v4 地址为 4 个字节,IPv6 地址为 16 个字节,因此将它们存储为 varbinary(16) 字段。我从您的问题标签中看到您正在使用 .Net,因此您将能够使用 IPAddress.GetAddressBytes() 轻松获取这些字节。如果您使用 Entity Framework 或类似的 ORM,以下代码将对您有用。

using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Net;

[Required, MinLength(4), MaxLength(16)]
public byte[] IPAddressBytes { get; set; }

[NotMapped]
public IPAddress IPAddress
{
get { return new IPAddress(IPAddressBytes); }
set { IPAddressBytes = value.GetAddressBytes(); }
}

关于.net - 在数据库中存储 IP 地址的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3342693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com