如果IP在某个IP范围之间,则重定向IP

use*_*332 4 php

如果用户的IP在某个IP范围之间,我正在使用重定向.但是,我正在使用多个ip范围,所以我想知道最好的方法.我目前正在使用它来重定向,

但如果IP范围是从72.122.166.0-72.122.159.266和68.61.156.0-68.61.181.255和78.121.74.0-78.121.77.255来说那么我该怎么做?谢谢!

cas*_*nca 19

检查IP范围的最佳方法是将虚线地址转换为32位数字并对其进行比较.该ip2long功能可以为您进行转换.例如:

$range_start = ip2long("68.61.156.0");
$range_end   = ip2long("68.61.181.255");
$ip          = ip2long($_SERVER['REMOTE_ADDR']);
if ($ip >= $range_start && $ip <= $range_end) {
  // blocked
}
Run Code Online (Sandbox Code Playgroud)

您可以将多个这些范围放入一个数组中并迭代它以检查多个范围.