Heim >Backend-Entwicklung >PHP-Tutorial >php 禁止单个IP地址或IP段访问的实现代码

php 禁止单个IP地址或IP段访问的实现代码

WBOY
WBOYOriginal
2016-07-25 09:00:281101Durchsuche
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访问的函数


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn