Cloudfalre大问题:
<i class="pstatus"> 本帖最后由 wawos 于 2024-12-24 20:01 编辑 </i><br /><br />
<font color="Red"><font size="3">没有找到可以添加自定义Http头的地方,<br />
<br />
导致网站不能100%可信的获取访问者真实IP, <br />
<br />
导致网站的基于IP判断的所有安全规则全部无效</font></font><br />
<br />
<br />
<br />
<br />
补充 问题解决, 答案22楼, 原来CF也可以编辑header头: Rules > Transform Rules > Modify Request Header CF 回源不是有添加 HTTP_CF_CONNECTING_IP 吗 你不知道,不等于没有 你要的功能 Cloudflare 也有<br />
<br />
Rules > Transform Rules > Modify Request Header<br />
<br />
参考文档<br />
<br />
<a href="https://developers.cloudflare.com/rules/transform/request-header-modification/" target="_blank">https://developers.cloudflare.com/rules/transform/request-header-modification/</a> 不是都在nginx配置么<br />
<br />
你需要信任cf的ip段 1. 可以设置,让你识别到真实的ip<br />
2. 也可以cf里配ip规则啊 <i class="pstatus"> 本帖最后由 wawos 于 2024-12-24 14:59 编辑 </i><br />
<div class="quote"><blockquote><font size="2"><a href="https://hostloc.com/forum.php?mod=redirect&goto=findpost&pid=16144378&ptid=1377185" target="_blank"><font color="#999999">mylove1 发表于 2024-12-24 14:41</font></a></font><br />
不是都在nginx配置么</blockquote></div><br />
<br />
首先这个X-FORWARDED-FOR别人访问者是可以随意自定义,<br />
<br />
通过CF设置的X-FORWARDED-FOR这个确实可以获取到访问者IP,<br />
<br />
<font color="Red">但是网站是别人既可以通过Cloudfalre来访问, 也可以不通过CF直接来访问的</font><br />
<br />
<font color="RoyalBlue">如果不是通过CF来访问的, 就只能以它的Remote-Addr来作为真实IP,<br />
<br />
会遇到的情况是: 一个访问者带有X-FORWARDED-FOR头IP, 你怎么确定它真的是通过CF来访问的呢?<br />
j既然不能确定, 那取哪个作为它的真实IP呢?</font> <br />
real ip 设定cf 的 ip 段<br />
<br />
你挂个 phpinfo 看 变量不就一目了然了<br />
<div class="quote"><blockquote><font size="2"><a href="https://hostloc.com/forum.php?mod=redirect&goto=findpost&pid=16144388&ptid=1377185" target="_blank"><font color="#999999">2019年 发表于 2024-12-24 14:43</font></a></font><br />
1. 可以设置,让你识别到真实的ip<br />
2. 也可以cf里配ip规则啊</blockquote></div><br />
<br />
具体设置在CF哪里呢,<br />
<br />
<font color="Red">之前用过阿里云的CDN, 可以自定义一个http头, 比如加一个名字是: aaabbb (这个名称外人是不知道的),<br />
当源网站发现当前访问有这个 aaabbb 的http头时, 就能确定它是通过CDN来访问的,<br />
就才能取X-FORWARDED-FOR最后一个作为它的真实IP</font>