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读取html并截取字符串的简单代码
Nov 30 PHP
php 高效率写法 推荐
Feb 21 PHP
php中判断字符串是否全是中文或含有中文的实现代码
Sep 16 PHP
php中拷贝构造函数、赋值运算符重载
Jul 25 PHP
Zend Studio去除编辑器的语法警告设置方法
Oct 24 PHP
php通过数组实现多条件查询实现方法(字符串分割)
May 06 PHP
让codeigniter与swfupload整合的最佳解决方案
Jun 12 PHP
php约瑟夫问题解决关于处死犯人的算法
Mar 23 PHP
php中 ob_start等函数截取标准输出的方法
Jun 22 PHP
PHP中让json_encode不自动转义斜杠“/”的方法
Feb 28 PHP
PHP单例模式模拟Java Bean实现方法示例
Dec 07 PHP
PHP7变量处理机制修改
Mar 09 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
Protoss热键控制
2020/03/14 星际争霸
php字符串截取中文截取2,单字节截取模式
2007/12/10 PHP
php编写一个简单的路由类
2011/04/13 PHP
php发送邮件的问题详解
2015/06/22 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
php使用FFmpeg接口获取视频的播放时长、码率、缩略图以及创建时间
2016/11/07 PHP
PHP基于GD2函数库实现验证码功能示例
2019/01/27 PHP
PHP远程连接oracle数据库操作实现方法图文详解
2019/04/11 PHP
PHP程序员简单的开展服务治理架构操作详解(二)
2020/05/14 PHP
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
NodeJS学习笔记之Connect中间件模块(一)
2015/01/27 NodeJs
jQuery可见性过滤器:hidden和:visibility用法实例
2015/06/24 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
jquery实现初次打开有动画效果的网页TAB切换代码
2015/09/06 Javascript
jquery实现手风琴效果
2015/11/20 Javascript
详解Webwork中Action 调用的方法
2016/02/02 Javascript
实例浅析js的this
2016/12/11 Javascript
详解Vue中使用v-for语句抛出错误的解决方案
2017/05/04 Javascript
bootstrap动态添加面包屑(breadcrumb)及其响应事件的方法
2017/05/25 Javascript
js实现图片轮播效果学习笔记
2017/07/26 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
谈谈vue中mixin的一点理解
2017/12/12 Javascript
Vue 按键修饰符处理事件的方法
2018/05/04 Javascript
详解VS Code使用之Vue工程配置format代码格式化
2019/03/20 Javascript
js实现简单进度条效果
2020/03/25 Javascript
[48:32]2018DOTA2亚洲邀请赛 3.31 小组赛 A组 LGD vs VG
2018/04/01 DOTA
python使用arcpy.mapping模块批量出图
2017/03/06 Python
python实现画圆功能
2018/01/25 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
python json load json 数据后出现乱序的解决方案
2020/02/27 Python
keras训练浅层卷积网络并保存和加载模型实例
2020/07/02 Python
HomeAway澳大利亚:预订你的度假屋,公寓、度假村、别墅等
2019/02/20 全球购物
iostream与iostream.h的区别
2015/01/16 面试题
2014年教师政治学习材料
2014/06/02 职场文书
个人廉洁自律总结
2015/03/06 职场文书
安全教育主题班会总结
2015/08/14 职场文书