现在我有一个靠用户名,密码登录的后台网站。 怎样设置才能防止网站通过输入用户名和密码被爬取。 比如微信扫描登录之内的方案可以吗?
1
yuanmomo 2021-03-05 09:21:42 +08:00 via iPhone
理论上只能增加难度吧,如果你要保存登录态,客户端肯定就有 cookie,大不了我手动获取 cookie,然后手动配置到爬虫。这个我的理解是一种博弈,最多就是增加难度
|
2
misaka19000 2021-03-05 09:26:55 +08:00
不嫩
|
3
copymaster 2021-03-05 09:30:07 +08:00 via Android
设置访问频率,当然这个访问频率正常使用是不会被达到的,过了这个访问频率就判定为爬虫,返回一些假数据污染已经爬到的,最后 ban ip 用户
|
4
herozzm 2021-03-05 09:30:37 +08:00 via Android
频率高了,访问快了,超出人的速度就弹验证码
|
5
murmur 2021-03-05 09:38:05 +08:00
微信扫描不行,最严的得是人工审查注册的合法性
|
6
SenLief 2021-03-05 09:56:19 +08:00 via Android
最简单的办法。手机验证码登录,并设置验证码发送间隔,主动防爬。
|
7
sparrww 2021-03-05 10:42:08 +08:00
内容处理增加难度,文本显示改成 svg,接口数据可以加密加混淆。反正采集难度大了就没人去研究怎么爬了
|
8
sparrww 2021-03-05 10:42:48 +08:00
楼上的看看一楼,卡登录有啥意义
|
9
heiheidewo 2021-03-05 10:48:07 +08:00
判断为爬虫后,真实数据里面掺杂一些政治相关的数据,之前有哥们把网站采集崩了,不得已才这么干的
|
10
love 2021-03-05 10:51:55 +08:00
用 hCaptcha 这种真人也要半分钟过去的验证,用户每点一页都要重新验证,就能把任何爬虫整死了
(当然正常用户也可能会被气死,除非你的网站真的有料 |
11
redwing2003 2021-03-05 12:19:38 +08:00
方法多的是,打开新页面与上一个页面时间要求间隔 45 秒。用户不满放宽成前第三个就好了。
|
12
mmdsun 2021-03-05 12:43:16 +08:00 via Android
1.爬虫检测,检测到非正常用户访问拦截,检测是否用了代理,selenium 驱动检测,鼠标轨迹检测等。
2.接口频率流量限制,超过直接 ban 掉。 3.增加数据获取难度,比如各种加密和验证签名,字体 css 防爬 4.接口集成像 Google reCaptcha v3 那种无感知 AI 验证。 |
13
kisshere 2021-03-05 15:03:12 +08:00
楼上的防爬虫都是小儿科,终极方案:
表单增加两个输入框:1. 用户地址,2:验证码 用户输入地址后,邮寄一封带有验证码的信件,用户拆开信件,输入信件里的验证码方可登录 |