php判断ip黑名单

  • 七月 8th, 2009

学校的新闻系统要求有些新闻只开放校内ip浏览,于是重写了一个代码来实现此功能,实现后的结果是,只要把允许访问的ip列入ip.txt这个文件中即可,同时支持c类ip,例如:

ip.txt
192.168
211.67.188
211.67.191.25

代码如下:

<?php
/*
 * ip地址黑名单、白名单
 * 判断访客地址的ip是否在ip.txt中,支持c类ip
 * By xhat
 */

 
$ip = $_SERVER['REMOTE_ADDR'];
$ipArray = preg_replace("#\r\n?|\n#","",file('ip.txt'));
foreach ($ipArray as $ipTest) {
 
if (substr_count($ip, $ipTest) != "0") {
      
echo "ok";         //执行相关命令
    
die();
 
}
}
 
?>