php中禁止单个IP与ip段访问的代码小结


Posted in PHP onJuly 04, 2012

禁止单个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'];
}
$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 "三水点靠木测试";
?>
禁止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段上 
$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 相关文章推荐
sourcesafe管理phpproj文件的补充说明(downmoon)
Apr 11 PHP
Fatal error: Call to undefined function curl_init()解决方法
Apr 09 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
在php中判断一个请求是ajax请求还是普通请求的方法
Jun 28 PHP
PHP获取用户的浏览器与操作系统信息的代码
Sep 04 PHP
PHP ? EasyUI DataGrid 资料取的方式介绍
Nov 07 PHP
php获取服务器信息的实现代码
Feb 04 PHP
thinkphp获取栏目和文章当前位置的方法
Oct 29 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
CodeIgniter配置之autoload.php自动加载用法分析
Jan 20 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
thinkphp5.1 框架钩子和行为用法实例分析
May 25 PHP
提高php运行速度的一些小技巧分享
Jul 03 #PHP
PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)
Jul 02 #PHP
php.ini-dist 和 php.ini-recommended 的区别介绍(方便开发与安全的朋友)
Jul 01 #PHP
apache+codeigniter 通过.htcaccess做动态二级域名解析
Jul 01 #PHP
php下载文件的代码示例
Jun 29 #PHP
PHP sprintf() 函数的应用(定义和用法)
Jun 29 #PHP
php 对输入信息的进行安全过滤的函数代码
Jun 29 #PHP
You might like
动态新闻发布的实现及其技巧
2006/10/09 PHP
在任意字符集下正常显示网页的方法二(续)
2007/04/01 PHP
php中ob_get_length缓冲与获取缓冲长度实例
2014/11/20 PHP
nodejs win7下安装方法
2012/05/24 NodeJs
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
javascript实现捕捉键盘上按下的键
2015/05/05 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
jQuery实现漂亮实用的商品图片tips提示框效果(无图片箭头+阴影)
2016/04/16 Javascript
原生 JS Ajax,GET和POST 请求实例代码
2016/06/08 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
第一次接触神奇的前端框架vue.js
2016/12/01 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
2017/02/07 Javascript
基于JQuery和原生JavaScript实现网页定位导航特效
2017/04/03 jQuery
深究AngularJS中$sce的使用
2017/06/12 Javascript
如何用webpack4带你实现一个vue的打包的项目
2018/06/20 Javascript
微信小程序scroll-view横向滑动嵌套for循环的示例代码
2018/09/20 Javascript
详解Vue之事件处理
2020/07/10 Javascript
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
Python父目录、子目录的相互调用方法
2019/02/16 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
Python Django框架模板渲染功能示例
2019/11/08 Python
基于python调用psutil模块过程解析
2019/12/20 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
python+selenium 脚本实现每天自动登记的思路详解
2020/03/11 Python
Django ORM filter() 的运用详解
2020/05/14 Python
python字典通过值反查键的实现(简洁写法)
2020/09/30 Python
CSS3 Columns分列式布局方法简介
2014/05/03 HTML / CSS
html5清空画布方法(三种)
2017/10/16 HTML / CSS
PHP面试题大全
2015/10/16 面试题
大学毕业生的自我鉴定
2013/11/30 职场文书
运动会方阵解说词
2014/02/12 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
银行金融服务方案
2014/06/11 职场文书
CSS预处理框架——Stylus
2021/04/21 HTML / CSS
vue+elementui 实现新增和修改共用一个弹框的完整代码
2021/06/08 Vue.js