防止网站数据被爬

2021-03-05 08:59:32 +08:00
 zficode

现在我有一个靠用户名,密码登录的后台网站。 怎样设置才能防止网站通过输入用户名和密码被爬取。 比如微信扫描登录之内的方案可以吗?

2950 次点击
所在节点    站长
17 条回复
yuanmomo
2021-03-05 09:21:42 +08:00
理论上只能增加难度吧,如果你要保存登录态,客户端肯定就有 cookie,大不了我手动获取 cookie,然后手动配置到爬虫。这个我的理解是一种博弈,最多就是增加难度
misaka19000
2021-03-05 09:26:55 +08:00
不嫩
copymaster
2021-03-05 09:30:07 +08:00
设置访问频率,当然这个访问频率正常使用是不会被达到的,过了这个访问频率就判定为爬虫,返回一些假数据污染已经爬到的,最后 ban ip 用户
herozzm
2021-03-05 09:30:37 +08:00
频率高了,访问快了,超出人的速度就弹验证码
murmur
2021-03-05 09:38:05 +08:00
微信扫描不行,最严的得是人工审查注册的合法性
SenLief
2021-03-05 09:56:19 +08:00
最简单的办法。手机验证码登录,并设置验证码发送间隔,主动防爬。
sparrww
2021-03-05 10:42:08 +08:00
内容处理增加难度,文本显示改成 svg,接口数据可以加密加混淆。反正采集难度大了就没人去研究怎么爬了
sparrww
2021-03-05 10:42:48 +08:00
楼上的看看一楼,卡登录有啥意义
heiheidewo
2021-03-05 10:48:07 +08:00
判断为爬虫后,真实数据里面掺杂一些政治相关的数据,之前有哥们把网站采集崩了,不得已才这么干的
love
2021-03-05 10:51:55 +08:00
用 hCaptcha 这种真人也要半分钟过去的验证,用户每点一页都要重新验证,就能把任何爬虫整死了
(当然正常用户也可能会被气死,除非你的网站真的有料
redwing2003
2021-03-05 12:19:38 +08:00
方法多的是,打开新页面与上一个页面时间要求间隔 45 秒。用户不满放宽成前第三个就好了。
mmdsun
2021-03-05 12:43:16 +08:00
1.爬虫检测,检测到非正常用户访问拦截,检测是否用了代理,selenium 驱动检测,鼠标轨迹检测等。

2.接口频率流量限制,超过直接 ban 掉。

3.增加数据获取难度,比如各种加密和验证签名,字体 css 防爬

4.接口集成像 Google reCaptcha v3 那种无感知 AI 验证。
kisshere
2021-03-05 15:03:12 +08:00
楼上的防爬虫都是小儿科,终极方案:
表单增加两个输入框:1. 用户地址,2:验证码
用户输入地址后,邮寄一封带有验证码的信件,用户拆开信件,输入信件里的验证码方可登录
lozzow
2021-03-05 16:11:43 +08:00
@kisshere 邮件不是更好做自动化吗,还不如电话语音或者手机短信验证码,其实污染返回数据这个方式还要好一些,如果别人拿到数据不能用,就会放弃爬了
qiayue
2021-03-19 19:22:36 +08:00
@kisshere 我通过合法的方式拿到验证码了,登录了,之后用这次登录的 cookie 去配置爬虫,请问你怎么防?
orangie
2021-07-09 16:58:35 +08:00
@lozzow 这人说的是真实的、信封里的信件,哈哈
lozzow
2021-07-09 19:48:11 +08:00
@orangie 毕竟我做过很长一段时间爬虫🤭

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

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

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

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

© 2021 V2EX