【发布时间】:2013-11-01 00:11:55
【问题描述】:
在 MySQL 数据库中存储多种 IP 类型的最佳方法是:
- 单一 IP (123.123.123.123)
- IP 范围 (123.123.123.1 - 123.123.123.121)
- IP 块 (123.123.123.1/20 )
- IP 类别(123.123.123.* 或 123.123..)
我正在考虑将所有范围/块/类转换为单个 IP,并使用 ip2long 存储它们以便更快地搜索到表中,但这将导致一个超过 100 万个数据库,我也需要不时减少/放大类或更改/删除 IP 块。
每次有人访问我的网站时都会访问此数据库(因此需要快速)。 有什么想法吗?
【问题讨论】:
-
只要知道 ip!= 人,任何 ip 屏蔽都可以规避。
-
您在此处描述的三种类型——范围、块和类——都是描述同一事物的不同方式。
-
@Dagon 我知道这一点,我不想用这个列表来阻止某些人。
-
@duskwuff 是的,你说得对,所有这些都可以很快在 IP 范围内进行翻译,但我收到了这种类型的 Ip,所以当有人向我发送修改时,很难扭转信息从IP范围到IP块然后修改/删除它并添加新信息。