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

发布时间:2020-06-17编辑:脚本学堂
php代码如何实现禁用单个ip或Ip段的访问呢,为大家提供二段参考代码,有兴趣的朋友,可以看看。

1、禁止单个IP访问

<?php
//加IP访问限制
//搜集整理 脚本学堂 www.jb200.com
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://www.jb200.com
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访问的函数