PHP禁止IP或IP地址段访问示例
示例一:
<?
//禁止某个IP
$banned_ip = array (
"127.0.0.1",
"192.168.1.4"
);
if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) )
{
die ("您的IP禁止访问!");
}
//禁止某个IP段
$ban_range_low=ip2long("119.6.20.65");//IP段开始
$ban_range_up=ip2long("119.6.20.67");//IP段结束
$ip=ip2long($_SERVER["REMOTE_ADDR"]);
if ($ip>=$ban_range_low && $ip=<$ban_range_up)
{
echo "您的IP在被禁止的IP段之中,禁止访问!";
exit();
}
Echo “恭喜您的网络没有被屏蔽!”;
?>
示例二:
通过文本获取限制IP访问记录。
首先建立已给文档如blockip.txt
文档内容如下(具体屏蔽的IP按如下格式进行修改):
BEGIN:
127.0.0.1
192.168.1.100
禁止单个IP访问:
<?php
$ip=$_SERVER["REMOTE_ADDR"];
$ban=file_get_contents("blockip.txt");
if(stripos($ban,$ip))
{
die("您的IP禁止访问!");
}
echo "恭喜您的网络没有被屏蔽!";
?>
禁止IP段访问:
<?php
$ip=$_SERVER["REMOTE_ADDR"];
while($ip[count($ip-1)]!='.')$ip=substr($ip,1, -1); //整理出ip段
$ban=file_get_contents("blockip.txt ");
if(stripos($ban,$ip))
{
die("您的IP在被禁止的IP段之中,禁止访问!");
}
echo "恭喜您的网络没有被屏蔽!";
?>
注:可以添加一个限制IP程序的页面比如blockip.php后通过include语句,在相关需要限制IP的页面中引用该程序代码页面。