php限制ip地址范围的方法
本文实例讲述了php限制ip地址范围的方法。分享给大家供大家参考。具体如下:
只有在限定范围内的ip地址才能访问
function get_real_ipaddress() {
if (!empty($_SERVER['HTTP_CLIENT_IP'])) {
return $_SERVER['HTTP_CLIENT_IP'];
} elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
return $_SERVER['HTTP_X_FORWARDED_FOR'];
}
return $_SERVER['REMOTE_ADDR'];
}
function in_ip_range($ip, $ip_one, $ip_two = false) {
if(!$ip_two) {
return $ip_one === $ip;
}
return ip2long($ip_one) * -1 >= ip2long($ip) * -1 && ip2long($ip_two) * -1 <= ip2long($ip) * -1;
}
function validate_ip() {
$ip = explode(':', get_real_ipaddress());
$ip = $ip[0];
if(in_ip_range($ip, '212.76.229.115', '212.76.229.120')) {
return true;
} else if(in_ip_range($ip, '194.78.4.66', '194.78.4.79')) {
return true;
} else if(in_ip_range($ip, '194.8.4.78', '194.8.4.78')) {
return true;
} else if(in_ip_range($ip, '0', '1')) { // local
return true;
}
header('Location: http://www.jb51.net');
}
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
php IP及IP段进行访问限制的代码
192.168.1.1 单个IP 192.168.1.* 这样代理 192.168.1.1-192.168.1-255 192.158.1.2-20 这样是代表192.158.1.2-192.158.1.20 也可以这样写 192.168.1.[1|2|3] 嘿嘿-一个方法不知道想法是否周全,拿出来大家讨论 使用 以下是引用片段: $oBlock_ip = new block_ip(); $oBlock_ip->checkIP(); 以下是引用片段: 复制代码 代码如下: <?php clas
-
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
一.仿淘宝评论购买记录隐藏部分用户名,以下代码亲测可用. 复制代码 代码如下: function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if($code == 'UTF-8') { $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\
-
PHP实现的限制IP投票程序IP来源分析
本文实例分析了PHP实现的限制IP投票程序.分享给大家供大家参考,具体如下: 接到一个投票活动的需求,需要做IP限制,每个IP限制一定的投票机会.我在搜索引擎上搜索了关键词:PHP客户端IP ,结果基本上都是以下内容: if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $onlineip = getenv('HTTP_CLIENT_IP'); } elseif(getenv('
-
PHP准确取得服务器IP地址的方法
本文实例讲述了PHP准确取得服务器IP地址的方法.分享给大家供大家参考.具体分析如下: 在php中,我们一般通过$_SERVER['HTTP_HOST']来活得URL中网站的域名或者ip地址. php手册中的解释如下: "HTTP_HOST" 当前请求的 Host: 头信息的内容. 一般来说,这样子不会遇到什么问题,在一些常见的php框架中,如PFC3和FLEA也是基于该预定义变量. 然而最近在做的一个项目,程序移交到客户手里测试时,竟然发现程序的跳转总是会出错. 最后找出原因:$_S
-
如何限制访问者的ip(PHPBB的代码)
如何限制访问者的ip(PHPBB的代码) Code: <?php/**************************************************************************** admin_user_ban.php* -------------------* begin : Tuesday, Jul 31, 2001* copyright : (C) 2001 The phpBB Group* email : [email]support@phpbb.c
-
用php代码限制国内IP访问我们网站
利用淘宝的IP接口来判断IP,是否是国内的ip,是国内(CN)的就不允许访问. $ip = $_SERVER['REMOTE_ADDR']; $content = file_get_contents('http://ip.taobao.com/service/getIpInfo.php?ip='.$ip); $banned = json_decode(trim($content), true); $lan = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']
-
PHP 获取客户端真实IP地址多种方法小结
经过复杂的判断与算是的获取IP地址函数 复制代码 代码如下: function getIP() { if (getenv('HTTP_CLIENT_IP')) { $ip = getenv('HTTP_CLIENT_IP'); } elseif (getenv('HTTP_X_FORWARDED_FOR')) { $ip = getenv('HTTP_X_FORWARDED_FOR'); } elseif (getenv('HTTP_X_FORWARDED')) { $ip = getenv('
-
php REMOTE_ADDR之获取访客IP的代码
<?php $iipp=$_SERVER["REMOTE_ADDR"]; echo $iipp; ?>[/code][code]<?php $user_IP = ($_SERVER["HTTP_VIA"]) ? $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"]; $user_IP = ($user_IP) ? $user_IP : $_SER
-
PHP实现限制IP访问及提交次数的方法详解
本文实例讲述了PHP实现限制IP访问及提交次数的方法.分享给大家供大家参考,具体如下: 一.原理 提交次数是肯定要往数据库里写次数这个数据的,比如用户登陆,当用户出错时就忘数据库写入出错次数1,并且出错时间,再出错写2,当满比如5次时提示不允许再登陆,请明天再试,然后用DateDiff计算出错时和now()的时间,如果大于24就再开放让他试. 封IP的话特别是给IP断就比较简单了, 先说给IP段开放的情况:先取出客户访问的IP,为了解释方便,设有IP192.168.6.2 现要开放IP段为192
-
PHP实现限制IP访问的方法
本文实例讲述了PHP实现限制IP访问的方法.分享给大家供大家参考,具体如下: //获取客户端ip if (getenv("HTTP_CLIENT_IP")) $ip = getenv("HTTP_CLIENT_IP"); else if(getenv("HTTP_X_FORWARDED_FOR")) $ip = getenv("HTTP_X_FORWARDED_FOR"); else if(getenv("REMOT
-
PHP中限制IP段访问、禁止IP提交表单的代码
我们只要在feedback.php中添加下面的代码进行判断就可以了. 注意:下边只是一个PHP限制IP的实例代码,如果您打算应用到CMS中,请自行修改,或者如果您正在使用DEDECMS,可以联系本站. 复制代码 代码如下: <?php //加IP访问限制 if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP'), 'unknown')) { $userip = getenv('HTTP_CLIENT_IP')
随机推荐
- vue.js全局API之nextTick全面解析
- 跟老齐学Python之从格式化表达式到方法
- js实现touch移动触屏滑动事件
- Centos下安装docker教程
- C语言通过深度优先搜索来解电梯问题和N皇后问题的示例
- 排序算法的Java实现全攻略
- java匿名内部类实例简析
- 使用Java构造和解析Json数据的两种方法(详解一)
- JS实现距离上次刷新已过多少秒示例
- 利用phpexcel对数据库数据的导入excel(excel筛选)、导出excel
- 浅谈Python的垃圾回收机制
- MySQL绿色版(zip解压版)的安装图文教程(mysql-5.6.22-win32.zip)
- C/C++静态类和this指针详解及实例代码
- Java 自定义注解及利用反射读取注解的实例
- js操作cookie保存浏览记录的方法
- javascript上下方向键控制表格行选中并高亮显示的方法
- C#实现对文件进行加密解密的方法
- 小程序实现人脸识别功能(百度ai)
- vue-cli3 karma单元测试的实现
- Ubuntu 18.04安装MySQL的教程图解
