首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
NGINX
NGINX Trac
3rd Party Modules
Security Advisories
CHANGES
OpenResty
ngx_lua
Tengine
在线学习资源
NGINX 开发从入门到精通
NGINX Modules
ngx_echo
V2EX  ›  NGINX

怎么屏蔽别人对我网站的反代

  •  
  •   wico97 · 64 天前 · 4890 次点击
    这是一个创建于 64 天前的主题,其中的信息可能已经有所发展或是发生改变。

    发现一个域名对我网站内容反对。查看日志,发现基本都是 cloudflare 的 IP, 172.68.141.24 - - [18/Aug/2019:18:04:05 +0000] "GET /dashboard/storage/all HTTP/1.1" 200 225 "https://hisdomain.com/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36" "170.140.104.2"

    他的域名加了 CF。怎么有效的屏蔽他的域名对我的反代? 谢谢

    25 回复  |  直到 2019-08-19 14:44:05 +08:00
        1
    SP00F   64 天前
    nginx 层对域名屏蔽 0.0
        2
    gstqc   64 天前   ♥ 4
    在 html 里加入混淆过的 js
    判断当前域名,不是你的域名就跳转到你的域名
        3
    falcon05   64 天前 via iPhone
    关闭 default_server
        4
    wico97   64 天前
    @gstqc 这个不错。谢谢
        5
    alphatoad   64 天前 via iPhone   ♥ 1
    cloudflare 能用来给第三方站做反代?
    是直接 cname 了吧
        6
    flyz   64 天前 via Android
    @wico97 这个还要随机加到固定的几个 js 里面,
    把几个 js 都加密。
        7
    jinliming2   64 天前 via iPhone   ♥ 3
    如果你不用 cloudflare 的话,可以把 cloudflare 的 IP 段全 ban 掉: https://www.cloudflare.com/ips/
        8
    jinliming2   64 天前 via iPhone
    @gstqc
    @flyz
    其实就算把判断代码加到 js 里,也只是增加了难度而已,对方只要把页面中所有的 js 内容、js 文件做一次中间处理,包装一层,
    ((window, document) => {
    //原始的 js 内容原封不动的放在这
    })(windowproxy, documentproxy);
    这样不论中间的 js 怎么写、怎么加密,都始终拿不到原始的 window 对象,只能拿到经过包装的版本,这里对方只要更改 location 的实现,让内部 js 获取不到当前的真实 location。
        9
    zjsxwc   64 天前 via Android
    和如何应对爬虫一个处理方式
        10
    chinvo   64 天前
    如果你不用 CF,就屏蔽 CF 的 IP

    如果你用 CF,就启用 Authenticated Origin Pulls
        11
    zqjilove   64 天前
    @jinliming2 我也碰到过这种情况,刚刚根据你提供的链接,把 cloudflare 的 IP 段全 ban 掉。因为会舒心很多。
        12
    alan0liang   64 天前 via Android
    @jinliming2 #8 (new Function('return this'))()还会得到 window
        13
    jinliming2   64 天前 via iPhone
    @alan0liang 那我要是把 Function 也给你包装到最外层的参数里呢
    ((window, document, Function) => {
    //原始的 js 内容原封不动的放在这
    })(windowproxy, documentproxy, Functionproxy);
        14
    wednesdayco   64 天前
    @jinliming2 页面内塞一个 iframe,iframe 内获取 referrer 判断……
        15
    alan0liang   64 天前 via Android
    @jinliming2 (new (function(){}.constructor)('return this'))()
        16
    emmmlucky   64 天前
    @jinliming2 (function(){return this})()
        17
    alan0liang   64 天前 via Android
    @emmmlucky 您这个一 bind 就挂了
    (function(window){
    // 这里放原代码
    }).call(windowproxy, windowproxy)
        18
    laravel   64 天前
    在 js 里判断如果不是你的网址就跳转到 pornhub, 然后举报
        19
    wclebb   64 天前 via iPhone
    @laravel #18 结果网站只能翻,举报不成。
        20
    salmon5   64 天前
    @gstqc 如果反向代理的 nginx 把你判断域名的 js 重写了,有招防吗?
        21
    alan0liang   64 天前 via Android
    @salmon5 写一个 refresh header,然后在 js 里去掉?
        22
    gstqc   64 天前 via Android
    @salmon5 判断访问频率
        23
    gstqc   64 天前 via Android
    @salmon5 js 不一定是固定的,如果网页是动态生成的,加上各种随机参数
    甚至,把这个判断和重要的 js 混在一起

    这样重写的难度就高了很多
        24
    xenme   64 天前 via iPhone
    不定时改负责和 js 啥的,把流量从他的都拿过来不是更好
        25
    lazyfighter   64 天前
    deny ip 不就行了吗
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   4076 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 25ms · UTC 09:10 · PVG 17:10 · LAX 02:10 · JFK 05:10
    ♥ Do have faith in what you're doing.