如何彻底防止网站被恶意反代? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Loyalsoldier
V2EX    DevOps

如何彻底防止网站被恶意反代?

  •  
  •   Loyalsoldier 2018 年 6 月 3 日 6269 次点击
    这是一个创建于 2808 天前的主题,其中的信息可能已经有所发展或是发生改变。

    想了一下,好像没有办法阻止,因为:

    1. Referer 可以伪造;
    2. 用户 IP 和 Forwarded For 都可以传递;
    3. Host 可以显式定义为被反代的域名;
    4. 如果用 Javascript 来判断域名,反代过程中可以用 Nginx sub_filter 或者 subs_filter 删掉该 Javascript 代码

    不知道各位还有啥高见?

    18 条回复    2018-06-04 17:39:08 +08:00
    gamexg
        1
    gamexg  
       2018 年 6 月 3 日 via Android
    2.你可以获得代理 ip 的,限制单个 ip 频率即可。
    4.互相对抗,js 里别明文提供判断代码外加随机加定期更换,一般人应该没兴趣继续反代了。
    Loyalsoldier
        2
    Loyalsoldier  
    OP
       2018 年 6 月 3 日
    @gamexg #1 传递了用户 IP 和 X-forwarded-for 之后,怎么获取代理 IP ?
    Lax
        3
    Lax  
       2018 年 6 月 3 日   1
    你看到的 remote address 就是代理的 ip 地址。
    不是自己设置的 x-forwarded-for,仅作参考,不要信任就好了。
    一般是从 x-forwarded-for 中反向查,去掉自己的所有代理地址之后,只信任剩下的下一个地址
    如果从这个 ip 来的请求特别多就可以“关注”一下了
    gamexg
        4
    gamexg  
       2018 年 6 月 3 日
    @Loyalsoldier #2 你前面是不是有 CDN ?

    没有 cdn 然后网站被通过反代访问时,remote_addr 获得的就是反代服务器的 ip。
    有 cdn 就翻 cdn 文档,里面有写用户实际 ip 通过哪个字段传递给你了。
    doubleflower
        5
    doubleflower  
       2018 年 6 月 3 日 via Android   1
    怎么没人反带我的网站,相当于帮我宣传了
    Livid
        6
    Livid  
    MOD
    PRO
       2018 年 6 月 3 日
    直接用 iptables 封掉对方 IP。
    Foolt
        7
    Foolt  
       2018 年 6 月 3 日
    防不了,现在反代的人少了,更多的是采集。
    Loyalsoldier
        8
    Loyalsoldier  
    OP
       2018 年 6 月 3 日
    @Lax #3
    @gamexg #4

    感谢二位!我原本以为通过下面的方式,被反对的服务器就看不到反代服务器的 IP 了:

    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    Showfom
        9
    Showfom  
    PRO
       2018 年 6 月 3 日 via iPhone
    第四点你把 js 代码混淆起来
    tan90
        10
    tan90  
       2018 年 6 月 3 日   1
    我以前接触过一个反代我网站的站点。
    就首页的请求是走的代理,其他资源都是直接通过我的域名加载。
    那么我就开了防盗链,防盗链返回一个 js,js 里面判断访问时输入的域名,如果该域名不在允许的列表里,就 301 跳回我的主站,挺有用的。
    winglight2016
        11
    winglight2016  
       2018 年 6 月 3 日
    上 https 似乎可以防止,不过我不确定了
    xencdn
        12
    xencdn  
       2018 年 6 月 3 日
    部份文字转图片 加自已的水印
    qqpkat2
        13
    qqpkat2  
       2018 年 6 月 4 日
    楼上说获取代理 IP 的估计都没做过反爬
    高匿代理了解一下,拨号 vps 再了解一下,还有程序内嵌浏览器了解一下
    Loyalsoldier
        14
    Loyalsoldier  
    OP
       2018 年 6 月 4 日
    @qqpkat2 #13

    请问怎么做高匿名代理呢?
    qqpkat2
        15
    qqpkat2  
       2018 年 6 月 4 日
    @Loyalsoldier 这个。。就不告诉你
    Loyalsoldier
        16
    Loyalsoldier  
    OP
       2018 年 6 月 4 日
    @winglight2016 #11

    HTTPS 怎么防止?……
    Loyalsoldier
        17
    Loyalsoldier  
    OP
       2018 年 6 月 4 日
    @qqpkat2 #15

    找到了篇文章,你说的高匿代理应该就是文章里面说的高匿代理的表现吧?通过随机选取一个代理 IP 来控制 remote_addr

    https://blog.mimvp.com/article/18470.html
    qqpkat2
        18
    qqpkat2  
       2018 年 6 月 4 日
    @Loyalsoldier 尽信书不如无书啊,小伙子,万一高匿代理不加代理头呢?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2472 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 28ms UTC 10:51 PVG 18:51 LAX 02:51 JFK 05:51
    Do have faith in what you're doing.
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-11940834-2', 'v2ex.com'); ga('send', 'pageview'); ga('send', 'event', 'Node', 'topic', 'devops'); 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