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 相关文章推荐
swfupload 多文件上传实现代码
Aug 27 PHP
php批量缩放图片的代码[ini参数控制]
Feb 11 PHP
PHP调用C#开发的dll类库方法
Jul 28 PHP
PHP中使用sleep函数实现定时任务实例分享
Aug 21 PHP
php中mkdir函数用法实例分析
Nov 15 PHP
php格式输出文件var_export函数实例
Nov 15 PHP
PHP图像处理之imagecreate、imagedestroy函数介绍
Nov 19 PHP
Zend Framework教程之Zend_Form组件实现表单提交并显示错误提示的方法
Mar 21 PHP
php操作xml并将其插入数据库的实现方法
Sep 08 PHP
ThinkPHP3.2框架自定义配置和加载用法示例
Jun 14 PHP
如何在Laravel5.8中正确地应用Repository设计模式
Nov 26 PHP
tp5框架使用cookie加密算法实现登录功能示例
Feb 10 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/07/04 PHP
php遍历树的常用方法汇总
2015/06/18 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
JavaScript中的闭包原理分析
2010/03/08 Javascript
jQuery获取css z-index在各种浏览器中的返回值
2010/09/15 Javascript
javascript解析json数据的3种方式
2014/05/08 Javascript
Bootstrap3制作图片轮播效果
2016/05/12 Javascript
文本框只能输入数字的实现方法(兼容IE火狐)
2016/06/25 Javascript
jQuery对checkbox 复选框的全选全不选反选的操作
2016/08/09 Javascript
JS验证 只能输入小数点,数字,负数的实现方法
2016/10/07 Javascript
JS中用三种方式实现导航菜单中的二级下拉菜单
2016/10/31 Javascript
从零开始学习Node.js系列教程四:多页面实现的数学运算示例
2017/04/13 Javascript
微信小程序实战之仿android fragment可滑动底部导航栏(4)
2020/04/16 Javascript
nodejs实现的连接MySQL数据库功能示例
2018/01/25 NodeJs
vue项目中使用tinymce编辑器的步骤详解
2018/09/11 Javascript
使用 Node.js 实现图片的动态裁切及算法实例代码详解
2018/09/29 Javascript
jquery获取input输入框中的值
2019/11/13 jQuery
通过实例解析JavaScript常用排序算法
2020/09/02 Javascript
JavaScript实现打字游戏
2021/02/19 Javascript
Python 使用requests模块发送GET和POST请求的实现代码
2016/09/21 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
Python使用numpy模块创建数组操作示例
2018/06/20 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
python命令行参数用法实例分析
2019/06/25 Python
Django中URL的参数传递的实现
2019/08/04 Python
python numpy存取文件的方式
2020/04/01 Python
如何导出python安装的所有模块名称和版本号到文件中
2020/06/05 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
住房公积金接收函
2014/01/09 职场文书
求职信格式要求
2014/05/23 职场文书
纪律教育月活动总结
2014/08/26 职场文书
初中成绩单评语
2014/12/29 职场文书
个人更名证明
2015/06/23 职场文书
简历自我评价:教师师德表现自我评价
2019/04/24 职场文书
如何书写先进事迹材料?
2019/07/02 职场文书
Vue项目打包、合并及压缩优化网页响应速度
2021/07/07 Vue.js