PHP检查(屏蔽)IP、IP段函数

利用本函数可以检查一组IP或IP段是否在禁止列表中

php 代码
  1. /*
  2. *PHP IP检查函数
  3. *Created By 枫行天下
  4. *E-mail: starlight36@163.com
  5. *HomePage: http://www.msphome.cn/
  6. *Last Update: 2009-01-31
  7. *思路来源于ASP中的一个IP检查函数,原作者已不可考证
  8. *
  9. *$userip,要检查的IP,$badiplist,要禁止的IP列表,每个IP用换行符分隔
  10. *若IP在列表中,返回true,否则返回false
  11. *IP列表示例
  12. * 127.0.0.0 #禁止此IP
  13. * 192.168.1.* #禁止此IP段
  14. * 10.10.*.10
  15. * 0.*.0.*
  16. */
  17. echo chkip($ip, "127.0.0.1");

php 代码
  1. //检查IP地址是否在黑名单中
  2. function chkip($userip, $badiplist) {
  3.     $a_badip = explode("\n",$badiplist);
  4.     $a_ippart = explode(".", $userip);
  5.     if (!is_array($a_badip)) return false;
  6.     for ($i = 0; $i < count($a_badip); $i++) {
  7.         $counter = 0;
  8.         $a_badippart = explode(".", $a_badip[$i]);
  9.         for ($j = 0; $j < count($a_badippart); $j++) {
  10.             if (((string)$a_badippart[$j] == "*") || ((string)$a_ippart[$j] == (string)$a_badippart[$j])) {
  11.                 $counter++;
  12.             }
  13.         }
  14.         if ($counter == 4) return true;
  15.     }
  16.     return false;
  17. }

PHP检查(屏蔽)IP、IP段函数》上有1条评论

评论已关闭。