php限制ip地址范围的方法


Posted in PHP onMarch 31, 2015

本文实例讲述了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: https://3water.com');
}

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
PHP初学者头疼问题总结
Oct 09 PHP
PHP新手上路(十一)
Oct 09 PHP
main.php
Dec 09 PHP
MySQL修改密码方法总结
Mar 25 PHP
php 团购折扣计算公式
Nov 24 PHP
解析zend Framework如何自动加载类
Jun 28 PHP
php提示Failed to write session data错误的解决方法
Dec 17 PHP
php修改文件上传限制方法汇总
Apr 07 PHP
Linux下编译redis和phpredis的方法
Apr 07 PHP
利用PHPStorm如何开发Laravel应用详解
Aug 30 PHP
php之header的不同用法总结(实例讲解)
Nov 28 PHP
php如何计算两坐标点之间的距离
Dec 29 PHP
php使用数组填充下拉列表框的方法
Mar 31 #PHP
php实现的简单日志写入函数
Mar 31 #PHP
PHP获取photoshop写入图片文字信息的方法
Mar 31 #PHP
php简单实现多字节字符串翻转的方法
Mar 31 #PHP
PHP使用内置dir类实现目录遍历删除
Mar 31 #PHP
php程序内部post数据的方法
Mar 31 #PHP
php上传图片客户端和服务器端实现方法
Mar 30 #PHP
You might like
多重?l件?合查?(二)
2006/10/09 PHP
理解PHP中的stdClass类
2014/04/18 PHP
php生成数字字母的验证码图片
2015/07/14 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
PHP读取并输出XML文件数据的简单实现方法
2017/12/22 PHP
ajax+php实现无刷新验证手机号的实例
2017/12/22 PHP
php删除二维数组中的重复值方法
2018/03/12 PHP
javascript 数组的方法集合
2008/06/05 Javascript
JavaScript库 开发规则
2009/01/31 Javascript
JQuery 拾色器插件发布-jquery.icolor.js
2010/10/20 Javascript
给jqGrid数据行添加修改和删除操作链接(之一)
2011/11/04 Javascript
jquery $(document).ready()和window.onload的区别浅析
2015/02/04 Javascript
jQuery+ajax实现无刷新级联菜单示例
2015/05/21 Javascript
JS日期格式化之javascript Date format
2015/10/01 Javascript
前端弹出对话框 js实现ajax交互
2016/09/09 Javascript
vue 怎么创建组件及组件使用方法
2017/07/27 Javascript
详解vue-cli 构建Vue项目遇到的坑
2017/08/30 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
微信小程序如何再次获取用户授权的方法
2019/05/10 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
[39:46]完美世界DOTA2联赛PWL S2 LBZS vs Rebirth 第二场 11.25
2020/11/25 DOTA
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
Django  ORM 练习题及答案
2019/07/19 Python
python实现数学模型(插值、拟合和微分方程)
2020/11/13 Python
YOOX美国官方网站:全球著名的多品牌时尚网络概念店
2016/09/11 全球购物
1688平价精选商城:阿里集团旗下,工厂出厂价格直销
2017/04/24 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
Java中有几种类型的流?JDK为每种类型的流提供了一些抽象类以供继承,请说出他们分别是哪些类?
2012/05/30 面试题
2014年公司庆元旦活动方案
2014/03/05 职场文书
优秀团员事迹材料1500字
2014/08/31 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
见义勇为事迹材料
2014/12/24 职场文书
写给医生的感谢信
2015/01/22 职场文书
个人股份转让协议书范本
2015/01/28 职场文书
《棉鞋里的阳光》教学反思
2016/02/20 职场文书
2016年幼儿园万圣节活动总结
2016/04/05 职场文书