evilmiracle
V2EX  ›  编程

全局禁用 JS 的情况下,如何做到人机识别?

  •  
  •   evilmiracle · Aug 6, 2019 · 4851 views
    This topic created in 2474 days ago, the information mentioned may be changed or developed.

    在网站全局禁用 JS 的情况下,只有 HTML + CSS 还有一个 Nginx。

    如何实现反爬虫,人机识别?

    6 replies    2019-08-07 00:26:59 +08:00
    jangit
        1
    jangit  
       Aug 6, 2019 via iPhone
    弄个链接放到页面里面,然后后端判断访问页面的同时有没访问那个链接?感觉应该是可以的
    evilmiracle
        2
    evilmiracle  
    OP
       Aug 6, 2019
    @jangit 怎么判断是人呢?人就一定会访问那个链接吗?
    evilmiracle
        3
    evilmiracle  
    OP
       Aug 6, 2019
    @jangit 后端怎么识别,是否有请求这个资源、链接呢?
    lookas2001
        4
    lookas2001  
       Aug 6, 2019 via Android
    构建 ip 信誉库或者买,ipip.net 有提供类似服务。或者直接套 cloudflare。
    cookie 可以设置单 ip 最多获取 session id 次数。可以跟踪用户访问过的网址。光看内容页不看列表页的,光看 html 不下 css 的,观察 referer,不通过搜索引擎,直接访问的也可以关注一下。
    其实说要是反爬虫的话为啥不上 js 呢?连 tor 都提供 js 的。加了 js 就有很多东西可以搞了。
    淘宝有识别无头浏览器的黑科技,浏览器指纹什么的可以了解一下,各种混淆什么的也都可以上一下。也可以通过调用时间什么的来评估一下客户端 cpu 和 gpu 性能情况(服务器一般没有 gpu 的)。浏览器视窗大小什么的都可以作为判断依据的。总之你能想到的都可以做判断依据。
    说了这么多,其实上第三方提供的行为识别服务是最简单的方法,可以直接接入到服务商提供的风险识别体系中。
    逻辑有点乱,见谅。希望能带来帮助。
    creedowl
        5
    creedowl  
       Aug 6, 2019 via Android
    最基本的验证码也可以吧
    jim9606
        6
    jim9606  
       Aug 7, 2019
    反爬通常都是 ip 库+频次限制。
    我不明白为啥会出现无 js 的情况,有一种常见的反爬策略是用 js 异步加载主要元素,这样爬虫为了获得有效信息就不得不执行 js。这时 js 能干的事就很多了。
    人机识别不外乎 ip 数据库+验证码。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   884 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 21:28 · PVG 05:28 · LAX 14:28 · JFK 17:28
    ♥ Do have faith in what you're doing.