套了CF后,评论显示ip这种的:2408:821b:8227:6950:ed5d:978f:4881:c395
本帖最后由 d6mmsm71 于 2020-9-3 11:21 编辑套上CF,评论的ip全是CF的ip,在网上找了个办法,显示访客真实IP。
不过有一部分显示的IP不正常,比如这种:2408:821b:8227:6950:ed5d:978f:4881:c395我现在怀疑这个方法是无效的,这些IP还是CF的IP。
怎么显示正常IP 呢
很简单的,你的程序没有识别reverse p!r!o!x!y 的办法
一般来说, 如果有
x_forwarded_for 找个http 头的话,是用这个IP 或者IP array 来判定用户IP的
如果没有类似的http header的话,才会用remote_address 这个http 头 河小马 发表于 2020-9-3 11:26
很简单的,你的程序没有识别reverse p!r!o!x!y 的办法
一般来说, 如果有
怎么搞啊,我在Nginx里改的 d6mmsm71 发表于 2020-9-3 11:31
怎么搞啊,我在Nginx里改的
你改nginx 没有用啊。。只能改程序
nginx 改的话,只能被nginx 的日志识别到 apache有一个模块,可以过滤代理IP,CF有个header参数是传递用户真实IP的
#大概配置是这样
#/etc/httpd/conf.d/remoteip.conf
RemoteIPHeader X-Real-IP
RemoteIPHeader CF-Connecting-IP
RemoteIPInternalp!r!o!x!y 192.168.0.0/17 河小马 发表于 2020-9-3 11:40
你改nginx 没有用啊。。只能改程序
nginx 改的话,只能被nginx 的日志识别到 ...
https://blog.csdn.net/m0_45124911/article/details/93874955
这样改了一下,测试有些IP是显示正常的,还是有很多评论IP是2408:821b:8227:6950:ed5d:978f:4881:c395这样的 sead 发表于 2020-9-3 12:07
apache有一个模块,可以过滤代理IP,CF有个header参数是传递用户真实IP的
#大概配置是这样
...
大哥,用的Nginx的嘛 d6mmsm71 发表于 2020-9-3 13:11
https://blog.csdn.net/m0_45124911/article/details/93874955
这样改了一下,测试有些IP是显示正常的, ...
2408:821b:8227:6950:ed5d:978f:4881:c395
这类IP 是中国联通的,已经是用户的真实ip了吧 河小马 发表于 2020-9-3 13:28
2408:821b:8227:6950:ed5d:978f:4881:c395
这类IP 是中国联通的,已经是用户的真实ip了吧 ...
正常情况下也不是这么显示的呀,这是什么毛病 d6mmsm71 发表于 2020-9-3 13:12
大哥,用的Nginx的嘛
Nginx p!r!o!x!y 这块设置琢磨下,X-Forwarded-For可以替换的
p!r!o!x!y_set_header X-Real-IP$remote_addr;
p!r!o!x!y_set_header X-Forwarded-For $p!r!o!x!y_add_x_forwarded_for;
#参考这里的解决方案
https://community.cloudflare.com/t/unable-to-get-visitors-ip-in-nginx/55038 sead 发表于 2020-9-3 13:34
Nginx p!r!o!x!y 这块设置琢磨下,X-Forwarded-For可以替换的
这个应该只是在nginx 的log 里面这么显示了
但是http header 里面其实没有任何变化
这个只能修改自己的代码
我可能说的不对,你最好确认下
河小马 发表于 2020-9-3 14:35
这个应该只是在nginx 的log 里面这么显示了
但是http header 里面其实没有任何变化
可以的,这块我之前为了解决CF IP问题专门修改转发数据, apahce模块配合接收,PHP里面的代码我没有动过,主要还是看程序方面如何处理,对应的修改header 这是IPV6.你把CF IPV6 关了就可以了 全IPV4了 golang 发表于 2020-9-3 17:04
这是IPV6.你把CF IPV6 关了就可以了 全IPV4了
看过了,默认就是关闭的
页:
[1]