我想在php中检查一个I.P地址是否出现在指定的范围内,如果它确实显示了webform,如果不是false则不执行任何操作。
这是我在想的例子:
<?php
function in_ip_range($ip_one, $ip_two=false){
if($ip_two===false){
if($ip_one==$_SERVER['REMOTE_ADDR']){
$ip=true;
}else{
$ip=false;
}
}else{
if(ip2long($ip_one)<=ip2long($_SERVER['REMOTE_ADDR']) && ip2long($ip_two)>=ip2long($_SERVER['REMOTE_ADDR'])){
$ip=true;
}else{
$ip=false;
}
}
return $ip;
}
//usage
echo in_ip_range('192.168.0.0','192.168.1.254');
?>
由于
答案 0 :(得分:0)
$ip = $_SERVER['REMOTE_ADDR'];
if(preg_match("/192\.168\.[0|1]\.\d+/", $ip)){
echo "form";
}else{
echo "no form";
}
我现在看到你不想允许...... 255?正确吗?
在这种情况下,你需要这个正则表达式:
"/192\.168\.[0|1]\.([0|1][0-9][0-9]|[2][0-4][0-9]|25[0-4])/"