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 相关文章推荐
第二节--PHP5 的对象模型
Nov 16 PHP
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
Jul 01 PHP
php 获取一个月第一天与最后一天的代码
May 16 PHP
关于php mvc开发模式的感想
Jun 28 PHP
php 阴历-农历-转换类代码
Jan 16 PHP
php多用户读写文件冲突的解决办法
Nov 06 PHP
PHP7.0版本备注
Jul 23 PHP
PHP中each与list用法分析
Jan 08 PHP
PHP怎样用正则抓取页面中的网址
Aug 09 PHP
thinkphp查询,3.X 5.0方法(亲试可行)
Jun 17 PHP
深入解析Laravel5.5中的包自动发现Package Auto Discovery
Sep 13 PHP
PHP iconv()函数字符编码转换的问题讲解
Mar 22 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
php中替换字符串中的空格为逗号','的方法
2014/06/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(九)
2014/06/24 PHP
php 利用array_slice函数获取随机数组或前几条数据
2015/09/30 PHP
PHP实现上传图片到数据库并显示输出的方法
2018/05/31 PHP
Web层改进II-用xmlhttp 无声息提交复杂表单
2007/01/22 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
jQuery .attr()和.removeAttr()方法操作元素属性示例
2013/07/16 Javascript
node.js中实现同步操作的3种实现方法
2014/12/05 Javascript
jquery插件hiAlert实现网页对话框美化
2015/05/03 Javascript
JS排序方法(sort,bubble,select,insert)代码汇总
2016/01/30 Javascript
详解Wondows下Node.js使用MongoDB的环境配置
2016/03/01 Javascript
归纳下js面向对象的几种常见写法总结
2016/08/24 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
令按钮悬浮在(手机)页面底部的实现方法
2017/05/02 Javascript
Vue组件实例间的直接访问实现代码
2017/08/20 Javascript
vue的mixins属性详解
2018/03/14 Javascript
微信小程序 云开发模糊查询实现解析
2019/09/02 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
Python3导入自定义模块的三种方法详解
2018/04/13 Python
influx+grafana自定义python采集数据和一些坑的总结
2018/09/17 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
Python使用指定端口进行http请求的例子
2019/07/25 Python
Win10系统下安装labelme及json文件批量转化方法
2019/07/30 Python
Keras之自定义损失(loss)函数用法说明
2020/06/10 Python
pycharm 实现光标快速移动到括号外或行尾的操作
2021/02/05 Python
详解HTML5之pushstate、popstate操作history,无刷新改变当前url
2017/03/15 HTML / CSS
非凡女性奢华谦虚风格:The Modist
2017/10/28 全球购物
精选干货:Java精选笔试题附答案
2014/01/18 面试题
毕业生自我鉴定
2013/11/05 职场文书
写给女朋友的道歉信
2014/01/08 职场文书
保护环境的建议书
2014/03/12 职场文书
英语系本科生求职信
2014/07/15 职场文书
Vue中插槽slot的使用方法与应用场景详析
2021/06/08 Vue.js
Vue中使用import进行路由懒加载的原理分析
2022/04/01 Vue.js
GO中sync包自由控制并发示例详解
2022/08/05 Golang