首頁  >  文章  >  後端開發  >  php 禁止單一IP位址或IP段存取的實作代碼

php 禁止單一IP位址或IP段存取的實作代碼

WBOY
WBOY原創
2016-07-25 09:00:281064瀏覽
php代码如何实现禁用单个ip或Ip段的访问呢,为大家提供二段参考代码,有兴趣的朋友,可以看看。

1、禁止单个IP访问

<?php
//加IP访问限制
//搜集整理 程序员之家 bbs.it-home.org
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$userip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$userip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$userip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$userip = $_SERVER['REMOTE_ADDR'];
}
$banned_ip = array (
"127.0.0.1",
"203.0.0.1",
"56.12.50.65",
"192.168.1.88"
);
if (in_array($userip,$banned_ip))
{
   die ("对不起,您的IP被禁止访问!");
}
   echo "您可以正常访问,马上为您跳转!";
?>

既然说到了如何禁止IP地址访问,那么掌握如何获取真实的IP地址的方法,便成了必须加强的基本技能。 有兴趣的朋友,可以参考如下的文章: php 获取外网真实IP的二种方法 php 获取客户端IP地址、地理信息、浏览器信息、本地真实IP的代码 php获取准确的客户端IP地址的代码 php实现过滤IP黑白名单的方法 php获取ip的多种方法 php获取访客IP的方法 2、禁止IP段访问

<?php
//加IP访问限制
//by 程序员之家 http://bbs.it-home.org
if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) {
$userip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR') && strcasecmp(getenv('HTTP_X_FORWARDED_FOR'), 'unknown')) {
$userip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR') && strcasecmp(getenv('REMOTE_ADDR'), 'unknown')) {
$userip = getenv('REMOTE_ADDR');
} elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], 'unknown')) {
$userip = $_SERVER['REMOTE_ADDR'];
}
$ban_range_low=ip2long("217.0.0.0"); //ip段上
$ban_range_up=ip2long("217.255.255.255");//ip段尾
$ip=ip2long($userip]);
if ($ip>$ban_range_low && $ip<$ban_range_up)
{
print "Banned";
exit();
}
?> 
您可能感兴趣的文章: PHP禁止IP访问网站的实例代码 php禁止ip访问的函数


陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn