首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何获取cdn加速后的真实ip

基础概念

CDN(Content Delivery Network)即内容分发网络,是一种通过将源站内容分发至最接近用户的节点,使用户可就近取得所需内容,提高用户访问的响应速度和成功率,同时降低网络拥堵和服务器压力的技术。

当用户请求一个通过CDN加速的网站时,请求首先会被CDN节点拦截,然后由CDN节点从源站获取内容并返回给用户。因此,直接从用户端获取的IP地址通常是CDN节点的IP,而非源站服务器的真实IP。

获取真实IP的方法

  1. 使用X-Forwarded-For头: 大多数CDN服务会在HTTP请求头中添加X-Forwarded-For字段,该字段包含了用户的真实IP地址。可以通过以下方式获取:
  2. 使用X-Forwarded-For头: 大多数CDN服务会在HTTP请求头中添加X-Forwarded-For字段,该字段包含了用户的真实IP地址。可以通过以下方式获取:
  3. 参考链接:PHP获取客户端真实IP
  4. 使用X-Real-IP头: 部分CDN服务可能会使用X-Real-IP头字段来传递真实IP地址。获取方式如下:
  5. 使用X-Real-IP头: 部分CDN服务可能会使用X-Real-IP头字段来传递真实IP地址。获取方式如下:
  6. 参考链接:PHP获取客户端真实IP
  7. 配置CDN服务: 如果你有权限配置CDN服务,可以在CDN配置中设置保留原始请求头,这样源站服务器就能直接获取到用户的真实IP地址。

应用场景

获取真实IP的应用场景包括但不限于:

  • 日志记录:记录用户的真实IP地址,以便进行访问日志分析。
  • 安全防护:识别并阻止来自恶意IP的访问。
  • 地理位置定位:根据IP地址确定用户的地理位置,提供个性化服务。

可能遇到的问题及解决方法

  1. 获取到的IP为空或为CDN节点IP
    • 确保CDN服务配置正确,允许传递真实IP头字段。
    • 检查服务器代码,确保正确读取了X-Forwarded-ForX-Real-IP头字段。
  • 多个代理服务器
    • 如果请求经过了多个代理服务器,X-Forwarded-For头字段可能包含多个IP地址,格式为client, proxy1, proxy2。可以通过分割字符串获取最后一个IP地址。
    • 如果请求经过了多个代理服务器,X-Forwarded-For头字段可能包含多个IP地址,格式为client, proxy1, proxy2。可以通过分割字符串获取最后一个IP地址。
  • 安全性问题
    • 直接信任X-Forwarded-ForX-Real-IP头字段可能存在安全风险,因为这些头字段可以被伪造。可以通过配置信任的IP范围或使用其他安全措施来降低风险。

总结

获取CDN加速后的真实IP需要通过读取特定的HTTP请求头字段来实现。常见的方法包括使用X-Forwarded-ForX-Real-IP头字段。在获取真实IP时,需要注意配置CDN服务和服务器代码,以确保能够正确识别和记录用户的真实IP地址。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

CDN配置无法获取真实ip

我在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

4.8K10
  • z-blog网站cdn加速获取用户真实IP地址方法

    前几天发过一篇关于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...HTTP_X_FORWARDED_FOR']);         return $arr[0];     }else{         return $_SERVER['REMOTE_ADDR'];     }} 替换代码

    1.9K10

    获取网站CDN加速真实服务器IP方法

    在新年之季,我们SINESAFE在给客户做网站渗透测试服务时候经常遇到一些网站域名用了CDN节点加速,导致找不到网站真实IP,目前大部分都是用百度云加速,阿里云CDN,腾讯云加速,网宿CDN,再就是国外...CLOUDFARE服务商来隐藏网站服务器真实IP,那么我来跟大家分享下方法来获取用了CDN真实网站IP。...CDN解析IP里面,就有可能是之前没有用CDN加速真实IP。...3)使用国外主机解析域名 部分国内CDN加速服务商只对国内线路做了CDN加速,但是国外线路没有做加速,这样就可以通过国外主机来探测真实IP信息。...单击“查看邮件源码”,获取服务器真实IP,服务器真实IP为“58.188.**.161”。

    4.2K20

    博客使用CDN网站加速怎么获取访客真实IP地址

    最近各大媒体都新增了一个功能,根据IP显示归属地,为了紧跟时代五一假期一直在写获取IP显示归属地办法,但是有点眼高手低了,心里想挺好操作起来就没有那么省事了,经过重重测试,找接口写代码,CV工程师不是白来...,最终代码完成,但是有一个致命缺陷,那就是加载缓慢,最终还是决定使用唐朝纯真IP插件,显示IP属地已经解决了,但是又双叒叕遇到一个棘手问题,因为博客采用了腾讯CDN,所以获取IP地址都是CDN带来...,不是真是的IP地址,腾讯CDN官方已经告知,HTTP头部已经自动开启“X_FORWARDED_FOR”标头,但是可能我设置不对,并没有显示真实IP地址。...','mochu_cdnip_user_ip'); 显示真实IP代码: function mochu_cdnip_cmd_ip(&$cmt){     global $zbp;     $cmt->IP...不清楚,把这段代码放上去就好了,主题会陆续修改这个问题,当然肯定是有开关,如果开启了CDN想要真实IP地址就开启吧,否则可以忽略了。

    7K10

    绕过cdn获取网站真实IP

    方案如下: 1.绕开cdn真实IP给找出来 2.去购买服务器地方找到真实IP 3.凉拌 那cdn怎么绕啊??? 1.二级域名法-寻找网站真实IP 大多数站点一般不会把所有的二级域名放cdn上。...Google site一下目标的域名,看有没有二级域名出现,挨个排查,确定了没使用cdn二级域名。...大部分CDN提供商只针对国内市场,而对国外市场几乎是不做CDN,所以有很大几率会直接解析到真实IP。...,你查到结果会和国内差不了多少 或者查询域名NS记录,其域名记录中MX记录,TXT记录等很有可能指向真实ip或同C段服务器 4.ping法--寻找网站真实IP 一般都会是真实IP,因为现有很多...或者使用国外多节点ping工具,例如just-ping,全世界几十个节点ping目标域名,很有可能找到真实ip 首先win+R输入cmd然后enter,打开命令行输入指令ping 你要查域名 详细看我博客

    10.5K60

    如何绕过cdn获取网站真实ip进行测试?

    里面去;你访问网站返回就是真实IP了,这样我们再进行测试,就会减少很多麻烦。 怎么判断网站有没有cdn防御?...在不同地区ping同一个网址,我们会得到不同IP地址,那么在这种情况下,我们就可以判断该网站开了CDN加速。通俗来说就是“就近原则”。 这里我们可以使用站长工具进行多个地点Ping服务器。...如图所示: 确定网站使用cdn,如何找到真实ip?...1、给站长留言,或者你注册会员时候;会有邮件通知,找到发邮件IP, 接下来就好办了,找到真实IPIP添加到hosts文件里面去;你访问网站返回就是真实IP了,连接一句话就没有拦截了。...3、使用国外主机解析域名国内很多 CDN 厂商因为各种原因只做了国内线路,而针对国外线路可能几乎没有,因此我们使用国外主机直接访问可能就能获取真实IP

    3.4K20

    如何绕过cdn获取网站真实ip进行测试

    导语:一般网站会使用cdn防御,我们访问时会经过cdn再经过源站服务器,这样我们进行渗透测试很容易被拦截,我们思路是这样,通过找到源站ip之后,把IP添加到hosts文件里面去;你访问网站返回就是真实...在不同地区ping同一个网址,我们得到不同IP地址,那么这种情况,我们就可以判断该网站开了CDN加速。...确定网站使用cdn,如何找到真实ip? 1、给站长留言,或者你注册会员时候;会有邮件通知,找到发邮件IP....接下来就好办了,找到真实IPIP添加到hosts文件里面去;你访问网站返回就是真实IP了,连接一句话就没有拦截了;接下来你就可以为所欲为了 2、通过各种方法找到二级域名,因为基本上站长不会把全部二级域名都做...3、使用国外主机解析域名 国内很多 CDN 厂商因为各种原因只做了国内线路,而针对国外线路可能几乎没有,此时我们使用国外主机直接访问可能就能获取真实IP

    2.7K30

    WordPress使用CDN显示真实IP地址

    WordPress在开启cdn之后会导致所有的访客用户IP地址变成cdn节点地址,导致无法分辨那个用户归属地,如果您评论有这个归属地识别功能,有没有做过开启cdn显示用户真实ip处理,那么所有的用户都会显示来自同一个地方...,甚至攻击者都会直接显示同一IP。...WordPress使用CDN显示真实IP ---- 其实方法很简单,如果使wordpress开启cdn之后显示真的ip地址呢?...其实很简单,我们只需要将一串代码加入WordPress根目录下wp-config.php文件中即可。...在wp-config.php文件第一个<php标记后面粘贴下面的代码: [code]/**获取用户真实IP地址*/ if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])

    2.8K30

    【全网扫描】获取CDN背后网站真实IP

    首先从 www.wooyun.org 服务多次挂页面可以看出, wooyun 使用了 baidu cdn 服务, 从 wooyun 漏洞案例上也可以知道 wooyun 使用了 ucloud...服务, 我们可以大胆假设 wooyun 服务器 ip 在中国内. 0x01 获取 CN IP 从apnic获取亚洲区域所分配到IP, 过滤出 CN IP....#CN.txt为筛选出国内IP #80.txt为筛选开放80端口ip 大概需要 20 min 0x03 获取 banner 使用 zmap banner-grab 对扫描出来80 端口开放主机进行...这 400+ 服务器, 一般可以分为三种: * baidu cdn server * http proxy server * www.wooyun.com server 可以对这 400+ 服务器再进行一次...banner 获取, 不设置 Host, 过滤掉 baidu cdn 错误页面, 空页面, 超时等乱七八糟页面, 然后就可以得到结果了, 我去问了一下相关负责人 www.wooyun.org 真实

    4.8K70

    Nginx开启CDN获取用户真实IP

    之前开了腾讯云CDN之后就一直没注意过,用户真实IP 直到昨天晚上收到一段异常攻击,我就翻了一下日志打算拉黑这部分IP,也没怎么注意IP是什么,直到今天中午休息时候才发现网站打不开了 就看了一下宝塔网站监控报表...,才发现每天IP就四十来个,基本全是广东、上海、天津这几个地方,然后想起来可能是CDN问题,之前一直没注意这个问题,因为购买了宝塔网站监控报表,也在全局设置-CDN headers配置了腾讯云CDN...规则X-Forwarded-For,起初我还以为是没同步,我就同步了就没怎么管,直到现在下午有空测试了一下才发现还是腾讯云CDNIP,这就是宝塔问题了,懒得反馈了 自己动手也就加两行代码事情,在...Nginx配置规则http段加上,就行了 set_real_ip_from 0.0.0.0/0; real_ip_header X-Forwarded-For;

    2K30

    获取CDN或Nginx用户真实ip地址

    目前问题:腾讯云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

    7.3K140
    领券