Discuz x3论坛使用CDN后获取真实IP的解决方法
2019独角兽企业重金招聘Python工程师标准>>>
公司论坛升级成Discuz x3之后获取的IP地址老是不正确导致一下莫名其妙的问题,解决方法如下:
打开\source\class\discuz\discuz_application.php文件,找到_get_client_ip(大约360行)方法。将代码改为:
private function _get_client_ip()
{$ip = $_SERVER['REMOTE_ADDR'];if(isset($_SERVER['HTTP_CDN_SRC_IP'])){$ip = $_SERVER['HTTP_CDN_SRC_IP'];}elseif (isset($_SERVER['HTTP_CLIENT_IP']) && preg_match('/^([0-9]{1,3}\.){3}[0-9]{1,3}$/', $_SERVER['HTTP_CLIENT_IP'])){$ip = $_SERVER['HTTP_CLIENT_IP'];}elseif(isset($_SERVER['HTTP_X_FORWARDED_FOR']) AND preg_match_all('#\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}#s', $_SERVER['HTTP_X_FORWARDED_FOR'], $matches)){foreach ($matches[0] AS $xip){if (!preg_match('#^(10|172\.16|192\.168)\.#', $xip)){$ip = $xip;break;}}}return $ip;
}
需要注意的是不同的CDN公司有可能会有差别,最简单的方法是新建一个PHPINFO文件在服务端看一下是否有对应的变量。
转载于:https://my.oschina.net/longjianghu/blog/167467
Discuz x3论坛使用CDN后获取真实IP的解决方法相关推荐
- 老大说,网上这种获取真实IP地址的方法不对,我不信...
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:蔡永吉 来源:http://bit.ly/33H8RMm ...
- 502 proxy error解决方法_老大说,网上这种获取真实IP地址的方法不对,我不信......
作者:蔡永吉 来源:http://bit.ly/33H8RMm想必大家对这段代码并不陌生: public String getIpAddr(HttpServletRequest request) { ...
- nginx反向代理后,java获取真实ip和解决request.getServerName()的问题
1. nginx.conf的server下增加以下配置 #解决request.getServerName()的问题proxy_set_header Host $host:$server_port;pr ...
- linux如何添加360网站卫士ip,使用加速乐、360网站卫士PHP无法获取用户IP的解决方法...
04 五月 分类:网站技术 | 评论数:0 | 点击数:2043 | 发表日期时间:2015-05-04 23:40:34 分享到: 本文导读:使用加速乐或者360网站卫士后,虽然可以保护真实服务器I ...
- java获取真实ip的方法
在网络中,如果不想被人监听,那么就需要获取 IP地址了,在电脑中我们可以使用到 ip地址获取工具,那么如何在 Java中获取真实的 IP地址呢? 1.首先我们需要先准备一台电脑,然后将电脑进行联网: ...
- WordPress 使用 CDN 后获取访客真实 IP
WordPress 往数据库存 IP 的时候似乎用的是 REMOTE_ADDR,这样一来数据库里面的评论信息就全是从各个 CDN 服务器来的 IP. 在 wp-config.php 文件中增加下面代码 ...
- 论坛php 图片上传,Discuz! X3 论坛文件图片上传尺寸:小于2M的修改方法
相信很多人都在使用Discuz! X3 论坛程序,笔者最近也用Discuz! X3.2 开办了一个论坛,但是当用户上传文件时,总是提示:文件尺寸 小于2M,于是就去后台修改相应的设置,但是改来改去,一 ...
- CDN识别和真实IP获取(信息收集篇)
进来先点个赞,评个论,关个注呗- 获取更多学习资料.想加入社群.深入学习,请扫我的二维码或加Memory20000427,诚意教学,白嫖绕道. 真实IP收集方法: 验证是否存在CDN 方法1: 很简单 ...
- 绕过CDN查找网站真实IP方法收集
方法1 很简单,使用各种多地 ping 的服务,查看对应 IP 地址是否唯一,如果不唯一多半是使用了CDN, 多地 Ping 网站有: http://ping.chinaz.com/ http://p ...
最新文章
- CImg库的一个简单例子
- 《Java 开发从入门到精通》—— 2.2 编写第一段Java程序
- android 虚拟按键挡住布局,Android 关于导航栏(虚拟按键)遮挡PopupWindow底部布局的问题...
- 2.8 多任务学习-深度学习第三课《结构化机器学习项目》-Stanford吴恩达教授
- win下anaconda装python2.7和3.5以及jupyter共存 (本篇实践通过)
- android带方框倒计时,简单漂亮的彩色方块计时器和倒计时js代码
- 父进程给子进程传参数
- Linux 系统下对目录扩容的方法
- 诹图系列(2): 堆积条形图
- 我们自研的那些Devops工具
- 「运维有小邓」AD域管理软件——ADManager Plus介绍
- gis核密度分析工具_Arcgis软件支持下的核密度估计
- 计算机网络第七版--概述知识点总结
- 腾讯云服务器获取root权限(ubuntu系统)
- matlab命令 elempro,装好MATLAB后,The markup in the document preceding the root elem
- AR Kit Core ML 将救百万iOS开发者于水深火热中
- OpenCV3实现橡皮擦功能[画板]
- 中国石油天然气集团公司信息管理部总经理刘希俭:持续提升信息化价值的思考与实践
- Python 安装opencv-python模块
- 如何安装IBM QISKit
热门文章
- 如何提高python的运行效率_几个提升Python运行效率的方法之间的对比
- 谷歌社交平台新漏洞威胁千万用户隐私 将提早关闭
- windows上下载redis扩展
- Introduction to pinatrace annotate version 2: a look into latches again
- 加载静态文件,父模板的继承和扩展
- 【NLP新闻-2013.06.03】New Book Where Humans Meet Machines
- 移位运算[c][code]
- 警告:隐式声明与内建函数‘exit‘不兼容解决方案
- docker pull下载镜像时的报错及其解决方法
- SpringMVC入门(二)—— 参数的传递、Controller方法返回值、json数据交互、异常处理、图片上传、拦截器