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 相关文章推荐
用定制的PHP应用程序来获取Web服务器的状态信息
Oct 09 PHP
php printf输出格式使用说明
Dec 05 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
PHP fopen 读取带中文URL地址的一点见解
Sep 25 PHP
深入解析php之sphinx
May 15 PHP
php中生成随机密码的自定义函数代码
Oct 21 PHP
浅谈php优化需要注意的地方
Nov 27 PHP
PHP实现指定字段的多维数组排序函数分享
Mar 09 PHP
PHP实现简单实用的验证码类
Jul 29 PHP
PHP实现根据时间戳获取周几的方法
Feb 26 PHP
php实现的pdo公共类定义与用法示例
Jul 19 PHP
laravel 事件/监听器实例代码
Apr 12 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
SMARTY学习手记
2007/01/04 PHP
YiiFramework入门知识点总结(图文教程)
2015/12/28 PHP
初识SmartJS - AOP三剑客
2014/06/08 Javascript
javascript实现的淘宝旅行通用日历组件用法实例
2015/08/03 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
JavaScript实现的冒泡排序法及统计相邻数交换次数示例
2017/04/26 Javascript
nodejs使用express获取get和post传值及session验证的方法
2017/11/09 NodeJs
nodejs 最新版安装npm 的使用详解
2018/01/18 NodeJs
vue异步axios获取的数据渲染到页面的方法
2018/08/09 Javascript
js取小数点后两位四种方法
2019/01/18 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
Layui 数据表格批量删除和多条件搜索的实例
2019/09/04 Javascript
jQuery实现简易QQ聊天框
2020/02/10 jQuery
JS数组扁平化、去重、排序操作实例详解
2020/02/24 Javascript
如何利用Node.js与JSON搭建简单的动态服务器
2020/06/16 Javascript
Python strip lstrip rstrip使用方法
2008/09/06 Python
5种Python单例模式的实现方式
2016/01/14 Python
基于Python的接口测试框架实例
2016/11/04 Python
Python 包含汉字的文件读写之每行末尾加上特定字符
2016/12/12 Python
详解Tensorflow数据读取有三种方式(next_batch)
2018/02/01 Python
python单例模式实例解析
2018/08/28 Python
Python格式化字符串f-string概览(小结)
2019/06/18 Python
pytorch 共享参数的示例
2019/08/17 Python
python使用celery实现异步任务执行的例子
2019/08/28 Python
深入理解Tensorflow中的masking和padding
2020/02/24 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
学年自我鉴定范文
2013/10/01 职场文书
创业计划书的主要内容有哪些
2014/01/29 职场文书
班班通校本培训方案
2014/03/12 职场文书
感恩寄语大全
2014/04/11 职场文书
公司新人试用期自我评价
2014/09/17 职场文书
婚礼答谢礼品
2015/01/20 职场文书
保险公司客户经理岗位职责
2015/04/09 职场文书
《珍珠鸟》教学反思
2016/02/16 职场文书