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