前几天发过一篇关于PHP获取网站使用cdn后的用户真实的IP地址的方法,然后就有群里的小伙件单独来问,如果使用z-blog建站并使用cdn加速的话是如何获取用户的真实IP地址呢?...z-blog cdn加速后获取用户真实IP地址的方法 z-blog需要获取用户IP地址的地方大概有两处,一个后台建立新用户时需要获取当前管理的IP地址,另一个是访客在前台提前评论时,需要获取访客的IP地址...打开 zb_system/function/c_system_event.php 找到如果下图两处,分别是提交用户资料时获取用户IP地址以及提交评论时获取IP地址的代码 提交用户资料获取IP地址 提交评论获取...IP地址 可以比较一下,上面两张图所要获取IP地址方式都是调用的同一个函数 GetGuestIP() ,我们只需要在z-blog中改动这个函数的代码就可以获取z-blog在cdn加速的情况下用户真实的IP...,如下图所示 小编用话说: 1、z-blog默认后台是无法显示评论的IP地址的,你可以使用一些相关的评论插件来查看评论的IP地址 2、z-blog默认后台的用户管理也无法查看用户的注册地址,你也可以使用用户中心一类的插件来查看
前言 今天打开站点的时候,发现一个问题: 我的天气插件怎么不好使了???...点击查看报错,原来是ip地址是一个ipv6的地址,应该是CDN的节点ip,这就是打开CDN后无法获取用户的真实ip的情况,我赶快去站点目录下config.inc.php添加一下代码,然后就可以真实获取用户...ip了!...解决方案 问题:站点开启CDN后无法获取用户的真实IP地址 解决方案:从配置文件下手,进行IP溯源 解决步骤: 打开网站的配置文件(例如:typecho的配置文件为config.inc.php其他程序同理...在最后一行加入如下代码: //用来防止CDN造成无法获取客
博客小站需要对单ip用户请求进行限制,计划使用宝塔自带得流量管理,而由于全站cdn,服务器记录的访问ip为CDN节点ip,经百度查询,找到了一种很简单的修改办法。...首先找到Nginx的nginx.conf文件,宝塔面板上直接在软件管理那儿,Nginx设置的配置修改栏中直接打开,然后在http{后加入如下两行代码: set_real_ip_from 0.0.0.0/...0; real_ip_header X-Forwarded-For; ?...然后打开你网站的日志测试看看
前言 今天打开站点的时候,发现一个问题 我的天气插件怎么不好使了???...点击查看报错,原来是ip地址是一个ipv6的地址,应该是CDN的节点ip,这就是打开CDN后无法获取用户的真实ip的情况,我赶快去站点目录下config.inc.php添加一下代码,然后就可以真实获取用户...ip了!...解决方案 问题:站点开启CDN后无法获取用户的真实IP地址 解决方案:从配置文件下手,进行IP溯源 解决步骤: 打开网站的配置文件(例如:typecho的配置文件为config.inc.php其他程序同理...在最后一行加入如下代码: //用来防止CDN造成无法获取客
我在2月份写了两篇有关CDN配置的文章,之后也给自己的博客用上了。 为响应国家号召,我启用了评论区显示ip地址;不过我在前段时间发现了一个问题,朋友们的评论ip地址怎么都是一个地区?...多少有点纳闷,我自己也测试发个评论,发现ip地址竟然都一样属于江苏?? 图片 突然想到之前给网站配了CDN,这才导致网站无法获取设备的真实IP,而是使用了加速ip。...简单来讲,CDN就是根据用户位置分配最近的资源。修改代码后问题解决: 图片 今天写这篇文章备份一下,防止以后出现类似问题无从下手,希望也能帮到网友们!...若是WordPress,就在主机根目录找到wp-config.php文件,在里面添加如下代码 若是Typecho,就在根目录找到config.inc.php,添加如下代码 最后记得清除CDN缓存 /**...防止CDN造成无法获取客户真实IP地址 */ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) { $list = explode(',',$_SERVER
image.png 使用cdn如何获取用户ip 如果大家的网站已经启动了cdn网络加速服务,那么访问网站的用户就会通过cdn的节点进行访问。...如果节点没有缓存,就会像访问用户发送请求,最终无法获取用户的IP地址。如果想通过cdn节点来获取用户的ip地址,就要编写相关的编码,php、asp、java、C#等语言的编码。...大型的门户网站使用得最多也是最常见,不仅能够加速网站的访问速度,提高用户的访问体验,让用户能在3秒钟内打开网页获取相关的信息,还助于网站的关键词优化排名。...综合上述就是关于使用cdn如何获取用户ip的相关讲解。...如果想要获取真实用户的ip地址,最好的解决方案就是给网站便写编程快速获取Ip地址来判断网站的真实访问量,如果对于cdn有什么不懂的地方,也可以咨询相关的同行。
WordPress 往数据库存 IP 的时候似乎用的是 REMOTE_ADDR,这样一来数据库里面的评论信息就全是从各个 CDN 服务器来的 IP。...在 wp-config.php 文件中增加下面代码就可以获取 CDN 后访客的真实 IP。这个函数的核心是用解析后的 HTTP_X_FORWARDED_FOR 替换 REMOTE_ADDR。...// WordPress 使用 CDN 后获取访客真实 IPif( !
很多用Emlog的都会遇到这样的状况,留言获取不到真实IP! 今天我就教大家如何修复这个问题 大多数获取不到真实IP是因为,网站使用了CDN,获取到的都是CDN的IP。...修复方法: 修改/include/lib/function.base.php文件,找到获取用户ip地址的函数组,修改为一下内容: /** * 获取用户ip地址 */ function getIp()...{ $ip = isset($_SERVER['REMOTE_ADDR']) ?...isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $ip...ip2long($ip)) { $ip = ''; } return $ip; } 修改完保存生效,然后留言试试是否成功,博主就是用的这个方法解决的,90%都是成功的!
很多用Emlog的都会遇到这样的状况,留言获取不到真实IP! 今天我就教大家如何修复这个问题 大多数获取不到真实IP是因为,网站使用了CDN,获取到的都是CDN的IP。...修复方法: 修改/include/lib/function.base.php文件,找到获取用户ip地址的函数组,修改为一下内容: /** * 获取用户ip地址 */ function getIp...() { $ip = isset($_SERVER['REMOTE_ADDR']) ?...isset($_SERVER['HTTP_X_FORWARDED_FOR'])){ $list = explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $ip...ip2long($ip)) { $ip = ''; } return $ip; } 修改完保存生效,然后留言试试是否成功,博主就是用的这个方法解决的,90%都是成功的!
目前问题:腾讯云CDN作为前端,Apache作为后端的情况下,Apache只能获取到腾讯云CDN前端的ip地址,而无法获取到用户的真实ip地址,在这种情况下,后端是Apache如何获取用户真实ip地址?...1.腾讯云CDN默认有提供X-Forwarded-For头部,用于记录客户端的真实ip地址,直接修改Apache的访问日志格式就可以使用 2.修改httpd.conf配置文件,添加X-Forwarded-For...Apache服务 3.成功获取用户的真实ip地址 2.png Nginx前端:118.89.171.94 Apache后端:115.159.120.41 目前问题:Nginx作为前端,Apache...作为后端的情况下,Apache只能获取到Nginx前端的ip地址,而无法获取到用户的真实ip地址,在这种情况下,后端是Apache如何获取用户真实IP地址?...4.成功获取用户的真实ip地址 6.png
之前开了腾讯云的CDN之后就一直没注意过,用户的真实IP 直到昨天晚上收到一段异常攻击,我就翻了一下日志打算拉黑这部分IP,也没怎么注意IP是什么,直到今天中午休息的时候才发现网站打不开了 就看了一下宝塔的网站监控报表...,才发现每天IP就四十来个,基本全是广东、上海、天津这几个地方的,然后想起来可能是CDN的问题,之前一直没注意这个问题,因为购买了宝塔网站监控报表,也在全局设置-CDN headers配置了腾讯云CDN...的规则X-Forwarded-For,起初我还以为是没同步,我就同步了就没怎么管,直到现在下午有空测试了一下才发现还是腾讯云CDN的IP,这就是宝塔的问题了,懒得反馈了 自己动手也就加两行代码的事情,在...Nginx配置规则的http段加上,就行了 set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;
很多用Emlog的都会遇到这样的状况,留言获取不到真实IP! 今天我就教大家如何修复这个问题 大多数获取不到真实IP是因为,网站使用了CDN,获取到的都是CDN的IP。...修复方法: 修改/include/lib/function.base.php文件,找到获取用户ip地址的函数组,修改为一下内容: /** * 获取用户ip地址 */ function getIp...() { $ip = isset($_SERVER['REMOTE_ADDR']) ?...ip2long($ip)) { $ip = ''; } return $ip; } 修改完保存生效,然后留言试试是否成功,博主就是用的这个方法解决的,90%都是成功的!...我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?
简单介绍 网站在配置了CDN进行加速后一般都无法获取访客真实IP,只能获取访问时使用的CDN节点IP。此时会导致一系列问题,比如无法有效过滤广告等垃圾留言和封杀恶意攻击等等。...解决方法 在Typecho站点根目录里的config.inc.php添加下面这段代码: /**使用CDN后获取访客真实ip*/ if(isset($_SERVER['HTTP_X_FORWARDED_FOR...list = explode(',',$_SERVER['HTTP_X_FORWARDED_FOR']); $_SERVER['REMOTE_ADDR'] = $list[0]; } 同理,如果使用的是
---- 二、CDN之后 目前国内已经争相出现了百度云加速、加速乐、360网站卫士以及安全宝等免费CDN。让我们这些小网站也能免费享受以前高大上的CDN加速服务。...因为普通配置中基于【源IP的限制】的结果就是,我们把【CDN节点】或者【阿里云盾】给限制了,因为这里“源IP”地址不再是真实用户的IP,而是中间CDN节点的IP地址。...我们需要限制的是最前面的真实用户,而不是中间为我们做加速的加速服务器。...其实,当一个 CDN 或者透明代理服务器把用户的请求转到后面服务器的时候,这个 CDN 服务器会在 Http 的头中加入一个记录 X-Forwarded-For : 用户IP, 代理服务器IP 如果中间经历了不止一个代理服务器...可以看到经过好多层代理之后, 用户的真实IP 在第一个位置, 后面会跟一串中间代理服务器的IP地址,从这里取到用户真实的IP地址,针对这个 IP 地址做限制就可以了。
修改nginx.conf配置文件 使用lnmp的服务器一般配置文件在:/usr/local/nginx/conf/nginx.conf 使用宝塔Nginx的服务器一般配置文件在 :/www/server...http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; log_format main 这里的main...需要在各个需要开启的站点配置文件里面加上 最后网站日志完美记录真实ip与cdn节点的ip
总会有这样或者那样的原因导致站长们使用CDN。比如说主机带宽较小、亦或者性能不足,被DDoS,被CC攻击等。但是Wordpress在使用CDN后会有一个问题:你在后台看到访客ip都是CDN的ip。...除了无法判断游客的地址这种无伤大雅的问题之外,如果有使用一些防止垃圾评论的插件之类的话,会导致误伤。可能会导致整个地区无法在博客上评论。所以我们需要对Wordpress做点“小手术”。...经过查找资料发现Wordpress是通过“REMOTE_ADDR”这个函数来获取访客ip的,我们只需要把这个函数替换成“HTTP_X_FORWARDED_FOR”就行了。...方法 在wp-config文件尾加入以下代码就可以了 //使用CDN后获取访客ip //使用CDN后获取访客ip if (isset($_SERVER['HTTP_X_FORWARDED_FOR']))...= explode(',', $_SERVER['HTTP_X_FORWARDED_FOR']); $_SERVER['REMOTE_ADDR'] = $list[0]; } ok~就这么简单的解决了
在新年之季,我们SINESAFE在给客户做网站渗透测试服务的时候经常遇到一些网站域名用了CDN节点加速,导致找不到网站的真实IP,目前大部分都是用的百度云加速,阿里云CDN,腾讯云加速,网宿CDN,再就是国外的...CLOUDFARE服务商来隐藏网站服务器的真实IP,那么我来跟大家分享下方法来获取用了CDN的真实网站IP。...打开百度APP,查看更多高清图片 1)查询子城名 由于CDN加速需要支付一定的费用,很多网站只对主站做了CDN加速,子域名没有做CDN加速,子域名可能跟主站在同一个服务器或者同一个C段网络中,可以通过子域名探测的方式...CDN解析IP里面,就有可能是之前没有用CDN加速的真实IP。...3)使用国外主机解析域名 部分国内的CDN加速服务商只对国内的线路做了CDN加速,但是国外的线路没有做加速,这样就可以通过国外的主机来探测真实的IP信息。
第一种方式 打开nginx配置,http模块填写如下内容: set_real_ip_from 0.0.0.0/0;real_ip_header X-Forwarded-For; 第二种方式 map $
最新更新 不需要改核心代码,只需在config.inc.php里加上一行 define('__TYPECHO_IP_SOURCE__','HTTP_X_FORWARDED_FOR'); 如果是用HTTP_CLIENT_IP...获取地址的话就是 define('__TYPECHO_IP_SOURCE__','HTTP_CLIENT_IP'); 看来开发团队是考虑到了这个问题的,只是没有说出来而已。。...typecho的文档还需完善啊⊙▽⊙虽然说代码注释是最好的文档,但是对于我们这些半吊子菜鸟来说还是挺需要的。。可以少做点无用功 改代码还是先看明白再动手好一点。。。...所以以下的都是废话,我就不误导大家了。。。大可无视它,就当是一次经验的积累吧o(╯□╰)o ---- 废话已删~~
领取专属 10元无门槛券
手把手带您无忧上云