·您当前的位置:首页 > 技术教程 > PHP教程 >

[php]php限制ip地址段访问的php代码

时间:2014-10-13 12:17酷播
[php]php限制ip地址段访问的php代码

限制ip地址段访问的php代码

  1. <?php 
  2. $userip = $_SERVER['REMOTE_ADDR']; //获得用户ip 
  3. $userips = explode(".", $userip);//把获得的ip切开成数组 
  4.  
  5. if(($userips[0]<=195 && $userips[0]>=195)&&($userips[1]<=163 && $userips[1]>=163)&&($userips[2]<=079 && $userips[2]>=072)&&($userips[3]<=255 && $userips[3]>=000)){ 
  6. echo "您的ip不符!"; 
  7. exit; 
  8. }else{ 
  9. echo "通过验证!"; 
  10. ?> 


我的思路就是这样的
获得用户的IP 用"."分割成数组
再将 限制IP断 分别用"."分割成数组

然后判断用户IP是否在这个IP断内(分别判断四个元素是否在这个范围里)
<?php
//加IP访问限制
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段上

ip2long 把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();
}
?>

$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 ("Your IP is block to connect !");
}
echo "脚本之家测试";
?>

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器