PHP IP地址范围validation

我正在为我的网站设置trialpay。 该网站显示:

请求来自以下IP地址范围:70.42.249.1 – 70.42.249.255

PHP中,如何检查访问我的身份validation页的机器人/人员是否在上述IP范围内?

由于您正在处理IP地址,因此将它们视为整数而不是string可能更容易。 您可以使用ip2long()函数来执行此操作。

这里有一个工作函数来帮助你:

 function ipbetweenrange($needle, $start, $end) { if((ip2long($needle) >= ip2long($start)) && (ip2long($needle) <= ip2long($end))) { return true; } return false; } $ipstart = '70.42.249.1'; $ipend = '70.42.249.255'; echo ipbetweenrange('70.42.249.1', $ipstart, $ipend); // true echo ipbetweenrange('70.42.249.255', $ipstart, $ipend); // true echo ipbetweenrange('70.42.249.128', $ipstart, $ipend); // true echo ipbetweenrange('192.168.0.1', $ipstart, $ipend); // false 
 foreach( range( 1, 255 ) as $number ) { if( $userIp == '70.42.249.' . $number ) // we have a match, do whatever you want } 

沿着这些线的东西。 是的,这可能应该被转移到Stackoverflow。