假设我想阻止符合任何范围的IP地址。因此,举例来说,我想阻止IP的是在这个范围内: 207.154.0.0 - 207.154.63.255, 216.27.0.0 - 216.27.95.255, 209.59.0.0 - 209.59.31.255散列IP地址范围
我认为这是效率低下且不可行,无法在内存中存储这些范围内的所有可能的IP地址。如果我将所有范围存储在散列表中,我需要遍历所有这些范围,并查看IP是否在任何范围内,因此看起来效率低下,并且可能有超过10万个范围。
有没有办法将IP地址转换为代表范围的密钥?因此,如果我有IP 207.154.1.0和207.154.2.0,它们都映射到相同的密钥,代表范围207.154.0.0 - 207.154.63.255?
忽略阻塞IP的问题/替代解决方案......我熟悉iptable,htaccess,通配符,正则表达式等。什么是将这些IP范围存储在散列中的有效方法?
感谢这是有道理的。 – 2011-03-30 03:16:23