PHP禁止IP或IP地址段訪問示例
示例一:
<?
//禁止某個(gè)IP
$banned_ip = array (
"127.0.0.1",
"192.168.1.4"
);
if ( in_array( getenv("REMOTE_ADDR"), $banned_ip ) )
{
die ("您的IP禁止訪問!");
}
//禁止某個(gè)IP段
$ban_range_low=ip2long("119.6.20.65");//IP段開始
$ban_range_up=ip2long("119.6.20.67");//IP段結(jié)束
$ip=ip2long($_SERVER["REMOTE_ADDR"]);
if ($ip>=$ban_range_low && $ip=<$ban_range_up)
{
echo "您的IP在被禁止的IP段之中,禁止訪問!";
exit();
}
Echo “恭喜您的網(wǎng)絡(luò)沒有被屏蔽!”;
?>
示例二:
通過文本獲取限制IP訪問記錄。
首先建立已給文檔如blockip.txt
文檔內(nèi)容如下(具體屏蔽的IP按如下格式進(jìn)行修改):
BEGIN:
127.0.0.1
192.168.1.100
禁止單個(gè)IP訪問:
<?php
$ip=$_SERVER["REMOTE_ADDR"];
$ban=file_get_contents("blockip.txt");
if(stripos($ban,$ip))
{
die("您的IP禁止訪問!");
}
echo "恭喜您的網(wǎng)絡(luò)沒有被屏蔽!";
?>
禁止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 "恭喜您的網(wǎng)絡(luò)沒有被屏蔽!";
?>
注:可以添加一個(gè)限制IP程序的頁面比如blockip.php后通過include語句,在相關(guān)需要限制IP的頁面中引用該程序代碼頁面。