CloudFlare 把所有访客的 IP 全都变成了他们自己的 IP,这怎么解决?很郁闷啊。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
WesleyNZ
V2EX    问与答

CloudFlare 把所有访客的 IP 全都变成了他们自己的 IP,这怎么解决?很郁闷啊。

  •  
  •   WesleyNZ 2020-10-04 10:15:50 +08:00 7679 次点击
    这是一个创建于 1891 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://support.cloudflare.com/hc/zh-cn/articles/200168236-Cloudflare-IP-地理位置有什么作用-

    我是小白,只懂一些网站皮毛

    请问 cloudflare 到底把这些访客的真实 IP 数据放在哪里了? 在我网站数据库的哪个地方? 如何查看? 我用的是 CPanel 。

    然后他也有提供修复方案 给了我个 Github 地址我完全不会安装这个东西啊 太复杂了,完全看不懂 谁能帮忙解释一下?

    https://support.cloudflare.com/hc/en-us/articles/200170786-Restoring-original-visitor-IPs-Logging-visitor-IP-addresses-with-mod-cloudflare-

    74 条回复    2020-10-08 20:26:34 +08:00
    presoul
        1
    presoul  
       2020-10-04 10:21:51 +08:00 via Android   2
    x-real-ip
    WesleyNZ
        2
    WesleyNZ  
    OP
       2020-10-04 10:24:01 +08:00
    @presoul 这是什么意思? 我想问的是,那些数据的 log,存放在我网站的哪个物理文件里面,我现在就需要那个真实 Ip 数据
    WesleyNZ
        3
    WesleyNZ  
    OP
       2020-10-04 10:29:22 +08:00
    并以 ISO 3166-1 Alpha 2 格式将国家 /地区代码传递给您的源站。

    请问????这个数据在源站的哪里?
    如果是数据库是哪个数据库?
    是存在哪个表里呢?
    wjhjd163
        4
    wjhjd163  
       2020-10-04 10:32:11 +08:00 via Android   1
    一楼正解
    WesleyNZ
        5
    WesleyNZ  
    OP
       2020-10-04 10:33:09 +08:00
    @wjhjd163 请问如何访问这个值?
    WesleyNZ
        6
    WesleyNZ  
    OP
       2020-10-04 10:33:40 +08:00
    @wjhjd163 这个值在哪个数据库的哪个地方?我找不到。
    shansing
        7
    shansing  
       2020-10-04 10:34:35 +08:00
    HTTP header: x-real-ip
    zhangshine
        8
    zhangshine  
       2020-10-04 10:35:30 +08:00
    真实数据在 header 里面,你需要自己把这个值取出来,可以用程序来做也可以修改 nginx/apache 对应的配置文件来做。
    WesleyNZ
        9
    WesleyNZ  
    OP
       2020-10-04 10:36:28 +08:00
    @zhangshine 请问如何提取数据 我网上找不到教程.....
    WesleyNZ
        10
    WesleyNZ  
    OP
       2020-10-04 10:37:00 +08:00
    @zhangshine header 的数据又在哪里? phpadmin 还是 MySQL?
    我去 cpanel 分别搜索,都搜不到这个 x-real-ip
    zhangshine
        11
    zhangshine  
       2020-10-04 10:43:16 +08:00
    @WesleyNZ 百度 /google: cloudflare 访客 ip
    xionger
        12
    xionger  
       2020-10-04 10:47:05 +08:00 via Android
    有吗?不是透明的传递吗?不需要 header 吧
    WesleyNZ
        13
    WesleyNZ  
    OP
       2020-10-04 10:57:26 +08:00 via iPhone
    @zhangshine 我搜过了 大哥 大哥
    coolcfan
        14
    coolcfan  
       2020-10-04 11:14:29 +08:00 via Android
    Cloudflare 怎么会有能力往你的网站数据库里存东西呢,大家说的也很清楚了是在 HTTP Header 里,感到茫然的话先从 HTTP 协议的基本知识了解一下
    reechangs
        15
    reechangs  
       2020-10-04 11:15:39 +08:00
    如果你用的是 nginx,直接在 conf 中直接增加配置文件即可。
    具体方法可参考 https://wzfou.com/cdn-real-ip/
    Duolingo
        16
    Duolingo  
       2020-10-04 11:15:47 +08:00 via Android
    http headers 了解一下
    WesleyNZ
        17
    WesleyNZ  
    OP
       2020-10-04 11:16:36 +08:00 via iPhone
    @coolcfan 说的也对,那请问如何提取这一部分数据呢?
    WesleyNZ
        18
    WesleyNZ  
    OP
       2020-10-04 11:17:49 +08:00 via iPhone
    @reechangs 我用的是 CPanel
    WesleyNZ
        19
    WesleyNZ  
    OP
       2020-10-04 11:19:21 +08:00 via iPhone
    @coolcfan 我 end user 不想了解那么多 而且这么简单的一个功能 脚本设置难度也太高了
    krixaar
        20
    krixaar  
       2020-10-04 11:21:45 +08:00 via Android
    用 CPanel 的话直接给服务商发 ticket 问啊,你啥都操作不了的,或者去服务商的知识库里搜一下有没有。
    WesleyNZ
        21
    WesleyNZ  
    OP
       2020-10-04 11:28:34 +08:00
    @krixaar 人家怎么会管你的 Cloudflare 啊?
    这是 cloudflare 不给我设置,关他们什么事?
    mschultz
        22
    mschultz  
       2020-10-04 11:30:48 +08:00
    cPanel 貌似是一个管理面板的名字?不是 Web Server 的名字。Web Server 有比如 Nginx, Apache, EasyApache (其实你主题里那个 「修复方案」 列出了很多)。你看看你具体用的是哪个。

    cPanel 的常见 log 文件的位置,我查到大概是 https://docs.cpanel.net/knowledge-base/cpanel-product/the-cpanel-log-files/
    不过声明我没用过 cPanel,只是随手一搜,你需要的话自己 Google 一下。

    ----
    然后,访客访问网站的时候会给你的 Web Server 发送请求,里面 HTTP Header 里包括一些字段,如果你用了 Cloudflare 的 CDN,那么 Cf-Connecting-Ip 这个字段的值就是访客的真实 IP. 这些 HTTP 请求 Header 一般都会留在 Web Server 的 log 里

    另外不清楚为什么楼上几个同学说 X-Real-Ip 是正解,我个人了解的是,如果用了 Cloudflare CDN,X-Real-Ip 无法获取访客真实 IP,它依然是 Cloudflare 节点的 IP.
    mschultz
        23
    mschultz  
       2020-10-04 11:35:14 +08:00
    另外就是你要确认一下你的网站具体是什么?你可以考虑一下你是不是有必要从 log 那么基础的文件里获取访客 IP.
    搞不好你的网站应用里就有办法抓取到访客的真实 IP.

    举个例子:
    WordPress,它本身就有统计访客来源的功能,但是这个访客 IP 也是根据 HTTP Header 里的我忘了是 Remote-addr 还是 x-real-ip 了,总之如果用了 Cloudflare,这俩都不是访客真实的 IP. 但是,有一个插件 WP Statistics,里面可以指定「将哪个字段认为是访客 IP 」,这里我指定把 「 Cf-Connecting-Ip 」作为访客真实 IP 就可以了
    also24
        24
    also24  
       2020-10-04 11:36:41 +08:00   4
    @WesleyNZ #21
    如果你希望了解这件事的完整原因,建议你学习一下网络协议,了解一下三层转发的细节,以及 CloudFlare 的基础原理。

    如果你不想知道细节,只是想解决这个问题,那么你只需要记以下结论:
    1 、这件事确实是因为你加了 CloudFlare 引起的。
    2 、解决方式就是 X-Forwarded-For 或 X-Real-IP 字段。
    3 、要读取这两个字段,需要靠服务商或你自己的程序来解决。
    4 、如果你自己不知道如何在自己的程序上解决,那你只能求助于服务商。
    5 、服务商如果不愿意解决也是正常的,看具体沟通情况。
    6 、如果想彻底解决,建议学习相关知识,买完整的 VPS 自己配置,而不是 CPanel 虚拟主机。


    服务商的解决方式参考:
    https://support.cpanel.net/hc/en-us/articles/360051107513-Restoring-visitors-IP-with-mod-remoteip
    krixaar
        25
    krixaar  
       2020-10-04 11:40:40 +08:00 via Android
    @WesleyNZ 统计 cf 的源 ip 需要给服务端设置记录 cf 的 header,也就是楼上说的那些,例如 Apache 需要装 mod_cloudflare 并启用,你作为 cPanel 用户一般是不可能有这种权限的,你必须找服务提供商,所以楼上这些回答你一个也搞不明白。cf 因为太常用,服务商兴许已经设置过需要你去开启,那么你就得去找他们的知识库,没有就发 ticket 。
    所以说虚拟空间到处都是坑……
    mschultz
        26
    mschultz  
       2020-10-04 11:40:59 +08:00
    @also24 #24 用了 Cloudflare 之后 X-Forwarded-For 或 X-Real-IP 都是 Cloudflare 节点的 IP 啊?
    应该用 Cf-Connecting-Ip 吧
    windyskr
        27
    windyskr  
       2020-10-04 11:43:25 +08:00 via Android
    没用过,但是从你发的链接点进去

    ![看到]( https://i.loli.net/2020/10/04/7lTtFxMHBsPkIQV.png)
    also24
        28
    also24  
       2020-10-04 11:44:56 +08:00
    @mschultz #26
    CF 确实没有带 X-Real-IP,但是 X-Forwarded-For 是按照规范实现的。
    我这里没有提 CF-Connecting-IP,主要还是因为 X-Forwarded-For 相对来说更常用一些。

    http://support.cloudflare.com/hc/en-us/articles/200170986
    mschultz
        29
    mschultz  
       2020-10-04 11:56:54 +08:00
    @also24 #28 哦哦,谢谢,我好像刚才也想发这个链接来着(不过这个链接里也是推荐用 Cf-Connecting-Ip )。

    我这里有个 Traefik + whoami 的 docker 镜像搭的 demo,我打开的时候,X-Forwarded-For 显示的依然是 Cloudflare 节点的 IP. 这里面只有 Cf-Connecting-Ip 是真实 IP.

    demo 地址: https://www.f-c.xyz

    可能是因为隔了一层 Docker 的原因?

    你可以试一下

    (搭建的文档其实就是 Traefik 的 Hello World: https://doc.traefik.io/traefik/getting-started/quick-start/
    also24
        30
    also24  
       2020-10-04 12:02:29 +08:00
    @mschultz #29
    可能是因为你没有配置对这个字段的信任吧:
    https://doc.traefik.io/traefik/routing/entrypoints/#forwarded-headers

    此类字段,一般都需要配置 Trust IP 的,不然会有伪造 IP 的漏洞。
    dototototo
        31
    dototototo  
       2020-10-04 12:10:58 +08:00 via Android
    cf 是个中介,你委托人家卖东西,人家也告诉你买家是谁了,你听不懂,质问中介怎么还要你来告诉我买家是谁啊,让他自己来买不就行了吗?
    mschultz
        32
    mschultz  
       2020-10-04 12:28:00 +08:00
    @also24 是的
    Actrace
        33
    Actrace  
       2020-10-04 12:34:16 +08:00
    CF 现在已经不提供 ipv4 的访客 IP 地址了。虽然它会提供一个转换后的 ipv4 地址,但是那个地址并不是客户的 IP 地址。

    目前 CF 只在 http header 提供 ipv6 的地址。
    presoul
        34
    presoul  
       2020-10-04 12:40:42 +08:00 via Android
    SingeeKing
        35
    SingeeKing  
    PRO
       2020-10-04 12:42:51 +08:00 via iPhone
    为什么我记得 CF 告知真实 IP 是一个付费功能
    SingeeKing
        36
    SingeeKing  
    PRO
       2020-10-04 12:46:21 +08:00 via iPhone
    WesleyNZ
        37
    WesleyNZ  
    OP
       2020-10-04 13:24:23 +08:00 via iPhone
    @Actrace 你这个从哪里的得知的?
    并没有这个说法啊
    datou
        38
    datou  
       2020-10-04 13:54:05 +08:00
    在 header 里面找
    WesleyNZ
        40
    WesleyNZ  
    OP
       2020-10-04 14:10:38 +08:00
    @krixaar

    服务商 5 分钟回复内给解决了,从现在以后都是显示真实 IP 地址,谢谢。

    但是昨天的访客数据都是 cloudfare 的,我特别想知道这个恶意评论的人是谁,我知道 162.1xx.XXX.XXX 这个地址是转换后的地址,但是在我 header 里面,原地址是有的吧?请问去哪里找?
    WesleyNZ
        41
    WesleyNZ  
    OP
       2020-10-04 14:12:04 +08:00
    @Yourshell

    这个文档我看过了 我不知所云,我没有这个权限,服务商帮我开通了真实 IP,但是!
    我昨天记录的数据还是没有恢复真实 IP
    WesleyNZ
        42
    WesleyNZ  
    OP
       2020-10-04 14:28:42 +08:00
    @datou HEADER 在哪里
    icyalala
        43
    icyalala  
       2020-10-04 15:07:44 +08:00   3
    所以说,其实楼主最直接的目的是找到昨天发恶意评论的人是谁。。
    Kaiyuan
        44
    Kaiyuan  
       2020-10-04 15:13:36 +08:00 via iPhone
    我记得是有两个 IP,前面的是 CF,后面的是访客 IP 。
    WesleyNZ
        45
    WesleyNZ  
    OP
       2020-10-04 15:23:35 +08:00 via iPhone
    @icyalala 对,一堆人不知道我什么意思 乱评论
    这件事情已经解决了 ,以后都会显示真正 IP
    skylancer
        46
    skylancer  
       2020-10-04 17:03:34 +08:00   20
    自己语文水平堪忧兼是个小白还说人乱评论... 蜜汁操作
    tanghongkai
        47
    tanghongkai  
       2020-10-04 18:09:59 +08:00
    @skylancer 白嫖惯了是这样的,已 block 免得影响心情
    diaosi
        48
    diaosi  
       2020-10-04 19:36:21 +08:00
    @skylancer 感觉应该针对这种情况做出一些措施
    DeutschXP
        49
    DeutschXP  
       2020-10-04 19:50:09 +08:00 via iPhone   1
    浓浓的甲方气息,不过也是一个小锻炼,如果楼上觉得不舒服的,那么可能还是适合默默写程序,就不要想着转行搞销售搞业务啥的了,会有更多不适应,现实中,甲方态度要恶劣多了
    diaosi
        50
    diaosi  
       2020-10-04 20:08:21 +08:00   4
    @DeutschXP 我觉得不适合这样类比。
    与甲方交流存在利益关系,而在论坛划水没必要忍受什么。
    also24
        51
    also24  
       2020-10-04 21:10:05 +08:00 via Android   1
    @diaosi
    调整心态就好,不要因为『楼主』这个词,就默认发帖人对帖子拥有所有权。

    回帖并不只是发给楼主看的,是给整个社区的新老成员看的。
    WesleyNZ
        52
    WesleyNZ  
    OP
       2020-10-04 22:05:49 +08:00 via iPhone
    你不回答可以走的,一些半吊子进来回答一半还当圣母是最骚的。
    WesleyNZ
        53
    WesleyNZ  
    OP
       2020-10-04 22:06:22 +08:00 via iPhone
    @tanghongkai 您凉快去吧
    codespots
        54
    codespots  
       2020-10-04 22:42:57 +08:00   5
    看楼主的态度,我直接来一句楼主烧饼不为过吧!
    imdong
        55
    imdong  
       2020-10-04 23:13:51 +08:00   2
    @DeutschXP #49 类比不合适,如果楼主花钱找我解决问题,我会当爸爸供起来(钱给够就行)

    ====

    问题解决很简单,但是楼主(发帖者)确实没有将自己的目的说清楚,问题不复杂。

    一早就看到这个贴子,典型的憨憨菜鸟的求助帖(无贬义),比伸手党稍微好一些,但是沟通起来巨费劲,按照《提问的智慧》来说也确实证实自己是有自己尝试通过搜索解决过问题(当然不排除是通过其他渠道伸手得到的一些解决方案),可是由于能力有限无法找到重点且无法理解现有的解决方案(但依然没能通过发帖表达清楚自己的意图,这个确实是发帖者的问题,此处为批评)。

    回帖的人中愿意给出解决方案的(不管正确与否)都应该被鼓励、感谢才对,楼主描述不清楚自己的问题,不要怪大家说,提问就要做好被喷的准备,这年头冲个浪,谁还没被喷过。

    最后,为了防止我也被喷,给个不是个好的但好使的解决方案:

    对于 PHP 来说,在入口文件里(如 index.php ),加入下面的代码,即可(不提供技术支持,使用后果自行承担)

    $_SERVER['REMOTE_ADDR'] = $_SERVER['REAL_IP'] = $_SERVER['CF-Connecting-IP'];

    代码很傻,但是对新手来说,很好使。

    另外,如果之前没有配置过保存,拿你这个恶意评论的 IP 九成九是拿不到的,已经消失了(除非 CF 有提供日志,我不清楚)

    就算你拿到 IP 又怎样?顺着网线去打人不成,先不管你能不能顺着网线找到人,找到又能打得过?毕竟客场作战,打赢了又怎样?弄不好因为寻衅滋事就进去了。

    网络上喷子这么多,何必放在心上,删掉就好了,斤斤计较,对自己一点好处都没有。
    datou
        56
    datou  
       2020-10-05 00:05:15 +08:00
    @WesleyNZ 在程序里记录 request header 的 x-forwarded-for

    套了 cf 的话 x-forwarded-for 会有两个 ip,前面的是访客真实 ip,后面的是 cf 节点 ip
    kn007
        57
    kn007  
       2020-10-05 00:56:07 +08:00   2
    @Livid 、 @Kai 、 @GordianZ 、 @sparanoid 、 @Olivia
    msg7086
        58
    msg7086  
       2020-10-05 05:38:08 +08:00   1
    如果觉得自己是小白,那就谦虚点。态度好点,大家都愿意教,愿意帮忙。
    人就是这样一种生物,如果你很懂,大家都愿意和你说话,如果你很谦虚,虽然不懂,大家也愿意教。
    但是你又不懂,还要一脸傲慢的样子,怕不是在讨打。
    当然了,论坛上也没法打你,最多也就是喷你几句完事,懂的人都 block 了,以后你问的问题不再会有人答。
    但如果这态度放到现实中,就好好挨社会的毒打吧。

    既然你说了「不回答可以走的」,那我也说一句,不想谦虚地讨论问题,您也可以走的。

    最后,回答一下你的问题,既然之前的真实 IP 没有被你记录下来,那么他们就永远丢失了。
    至于拿 IP,也没什么意义,现在 IP 大多都是共享的,你拿一个 IP 等于拿一个区或者一个市,有什么用呢。
    就说你在帖子里那么多恶意回复,我找站长拿了你 IP,难道我还能跑到你们区的电信局一个一个家庭地址找吗。
    真心的,不懂,就多学学,没坏处。
    Showfom
        59
    Showfom  
    PRO
       2020-10-05 07:57:28 +08:00 via iPhone   1
    @msg7086 可能有人在他网站上骂他 他想查一下这人是哪里的吧
    WhoMercy
        60
    WhoMercy  
       2020-10-05 09:59:38 +08:00   1
    @DeutschXP #49 乙方做多了,起不来了吗。


    @WesleyNZ #45 #52 #53 真当自己是甲方,白嫖有理,真行。
    learningman
        61
    learningman  
       2020-10-05 15:57:52 +08:00
    @DeutschXP 甲方给钱,多恶劣都能忍,这个 XX,凭啥呢?
    xgQikk
        62
    xgQikk  
       2020-10-05 16:42:09 +08:00 via iPhone   1
    怎么这个脑瘫这么久了还在这里发帖
    evilStart
        63
    evilStart  
       2020-10-05 20:25:57 +08:00 via Android
    v2ex 的很多帖子让我觉得这是一个少儿编程论坛。
    WesleyNZ
        64
    WesleyNZ  
    OP
       2020-10-06 18:51:54 +08:00
    @imdong
    谢谢,host 方已经给我改回来,然后把日志文件给我了,日志文件里面 并没有这个数据,只保存了一个 Cloudflare 的 IP 。

    我生气的是,有的回一个字,叫我自己去领悟
    我看了网站中文英文解决方案都 2 个小时了我才来发帖的。

    还有一群不帮忙来 BB 当圣母的。

    我只是想拿回来这个特定的 IP 仅此而已,不过根据你的描述 应该是没办法了,谢谢!

    有提供日
    WesleyNZ
        65
    WesleyNZ  
    OP
       2020-10-06 18:55:07 +08:00
    @imdong 还有,很感谢最后一句话 我也是打算算了(这个人现实生活里可能认识,所以想知道他是谁,不知道就算了)
    WesleyNZ
        66
    WesleyNZ  
    OP
       2020-10-06 18:55:51 +08:00
    @datou 你这个解释非常清楚,谢谢你。
    但是我不太清楚我 server 的 request header 存在哪里?一般的花 wordpress 的 request header 存在哪个地方呢?
        67
    WesleyNZ  
    OP
       2020-10-06 18:56:43 +08:00
    @xgQikk 您的脑子真好,‘地沟油’补得不错吧?
    WesleyNZ
    WesleyNZ
        68
    WesleyNZ  
    OP
       2020-10-06 18:59:17 +08:00
    @msg7086 你看清楚我回复的是谁,再做判断好吗?我只回了某些人,对于其他人,有任何帮助不捣乱的人,我是感谢的
    WesleyNZ
        69
    WesleyNZ  
    OP
       2020-10-06 19:02:24 +08:00
    @DeutschXP 我对,提供帮助的人 都是感谢,态度挺好的啊,那些莫名其妙回答一半的 我都说了我没有基础,你给我个
    x-real-ip 我能知道是什么意思?
    我昨天已经花了 1 个小时读完了 https 的流程 我还是不懂我才来问的啊
    WesleyNZ
        70
    WesleyNZ  
    OP
       2020-10-06 19:02:41 +08:00
    @evilStart 这是编程论坛?
    lvjiefly
        71
    lvjiefly  
       2020-10-07 11:14:31 +08:00
    不回答可以走是什么意思?这是你家?
    julyclyde
        72
    julyclyde  
       2020-10-08 09:56:39 +08:00
    你这个学习能力,建议不要用 cloudflare 之类的高级东西
    比较简洁的环境更适合
    WesleyNZ
        73
    WesleyNZ  
    OP
       2020-10-08 20:24:09 +08:00 via iPhone
    @julyclyde 就是说的你这种人啊 不回答可以走 别占用空间发泄情绪
    WesleyNZ
        74
    WesleyNZ  
    OP
       2020-10-08 20:26:34 +08:00 via iPhone
    更新答案:

    所有的虚拟服务空间都不会保存 request header 到 log 里.
    结论:
    如果你没一开始付费 Cloudflare 的付费功能,或者是你一开始没有按照教程去显示真实 IP, 这些数据就永远拿不回来了。
    你后面开通这两个功能也毫无作用,这些数据就是永久丢失了。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1028 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 23:08 PVG 07:08 LAX 15:08 JFK 18:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86