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 无极分类(递归)实现代码
Jan 05 PHP
PHP 调试工具Debug Tools
Apr 30 PHP
PHP中用hash实现的数组
Jul 17 PHP
php 读取文件头判断文件类型的实现代码
Aug 05 PHP
zf框架的registry(注册表)使用示例
Mar 13 PHP
PHP扩展开发入门教程
Feb 26 PHP
php实现粘贴截图并完成上传功能
May 17 PHP
PHP代码优化技巧小结
Sep 29 PHP
php面向对象值单例模式
May 03 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
Feb 19 PHP
CodeIgniter框架数据库基本操作示例
May 24 PHP
PHP的mysqli_select_db()函数讲解
Jan 23 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
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
jQuery 使用手册(四)
2009/09/23 Javascript
jquery插件制作 表单验证实现代码
2012/08/17 Javascript
Javascript call和apply区别及使用方法
2013/11/14 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
jQuery获取选中内容及设置元素属性的方法
2014/07/09 Javascript
JavaScript实现弹出DIV层同时页面背景渐变成半透明效果
2016/03/25 Javascript
Bootstrap3制作搜索框样式的方法
2016/07/11 Javascript
xmlplus组件设计系列之按钮(2)
2017/04/26 Javascript
微信小程序之绑定点击事件实例详解
2017/07/07 Javascript
vue 中引用gojs绘制E-R图的方法示例
2018/08/24 Javascript
解决vuex刷新状态初始化的方法实现
2019/08/15 Javascript
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
Vue filter 过滤当前时间 实现实时更新效果
2019/12/20 Javascript
实例讲解JavaScript 计时事件
2020/07/04 Javascript
Vue+Openlayers自定义轨迹动画
2020/09/24 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
利用一个简单的例子窥探CPython内核的运行机制
2015/03/30 Python
以windows service方式运行Python程序的方法
2015/06/03 Python
深度定制Python的Flask框架开发环境的一些技巧总结
2016/07/12 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
用Python写脚本,实现完全备份和增量备份的示例
2018/04/29 Python
使用pyinstaller打包PyQt4程序遇到的问题及解决方法
2019/06/24 Python
Numpy的简单用法小结
2019/08/28 Python
Python3运算符常见用法分析
2020/02/14 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
2020/04/20 Python
pycharm 2020.2.4 pip install Flask 报错 Error:Non-zero exit code的问题
2020/12/04 Python
浅析rem和em和px vh vw和% 移动端长度单位
2016/04/28 HTML / CSS
使用html5 canvas绘制圆环动效
2019/06/03 HTML / CSS
如何开发安全的AJAX应用
2014/03/26 面试题
IT工程师岗位职责
2014/07/04 职场文书
和领导吃饭祝酒词
2015/08/11 职场文书
深度学习小工程练习之垃圾分类详解
2021/04/14 Python
Python 数据科学 Matplotlib图库详解
2021/07/07 Python
Python字符串格式化方式
2022/04/07 Python