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

2019-08-06 22:51:10 +08:00
 evilmiracle

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

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

4281 次点击
所在节点    编程
6 条回复
jangit
2019-08-06 23:01:27 +08:00
弄个链接放到页面里面,然后后端判断访问页面的同时有没访问那个链接?感觉应该是可以的
evilmiracle
2019-08-06 23:09:00 +08:00
@jangit 怎么判断是人呢?人就一定会访问那个链接吗?
evilmiracle
2019-08-06 23:09:51 +08:00
@jangit 后端怎么识别,是否有请求这个资源、链接呢?
lookas2001
2019-08-06 23:50:00 +08:00
构建 ip 信誉库或者买,ipip.net 有提供类似服务。或者直接套 cloudflare。
cookie 可以设置单 ip 最多获取 session id 次数。可以跟踪用户访问过的网址。光看内容页不看列表页的,光看 html 不下 css 的,观察 referer,不通过搜索引擎,直接访问的也可以关注一下。
其实说要是反爬虫的话为啥不上 js 呢?连 tor 都提供 js 的。加了 js 就有很多东西可以搞了。
淘宝有识别无头浏览器的黑科技,浏览器指纹什么的可以了解一下,各种混淆什么的也都可以上一下。也可以通过调用时间什么的来评估一下客户端 cpu 和 gpu 性能情况(服务器一般没有 gpu 的)。浏览器视窗大小什么的都可以作为判断依据的。总之你能想到的都可以做判断依据。
说了这么多,其实上第三方提供的行为识别服务是最简单的方法,可以直接接入到服务商提供的风险识别体系中。
逻辑有点乱,见谅。希望能带来帮助。
creedowl
2019-08-06 23:53:58 +08:00
最基本的验证码也可以吧
jim9606
2019-08-07 00:26:59 +08:00
反爬通常都是 ip 库+频次限制。
我不明白为啥会出现无 js 的情况,有一种常见的反爬策略是用 js 异步加载主要元素,这样爬虫为了获得有效信息就不得不执行 js。这时 js 能干的事就很多了。
人机识别不外乎 ip 数据库+验证码。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/589651

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX