V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zficode
V2EX  ›  站长

防止网站数据被爬

  •  
  •   zficode · 2021-03-05 08:59:32 +08:00 · 2949 次点击
    这是一个创建于 1344 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    4.接口集成像 Google reCaptcha v3 那种无感知 AI 验证。
    kisshere
        13
    kisshere  
       2021-03-05 15:03:12 +08:00
    楼上的防爬虫都是小儿科,终极方案:
    表单增加两个输入框:1. 用户地址,2:验证码
    用户输入地址后,邮寄一封带有验证码的信件,用户拆开信件,输入信件里的验证码方可登录
    lozzow
        14
    lozzow  
       2021-03-05 16:11:43 +08:00
    @kisshere 邮件不是更好做自动化吗,还不如电话语音或者手机短信验证码,其实污染返回数据这个方式还要好一些,如果别人拿到数据不能用,就会放弃爬了
    qiayue
        15
    qiayue  
       2021-03-19 19:22:36 +08:00
    @kisshere 我通过合法的方式拿到验证码了,登录了,之后用这次登录的 cookie 去配置爬虫,请问你怎么防?
    orangie
        16
    orangie  
       2021-07-09 16:58:35 +08:00
    @lozzow 这人说的是真实的、信封里的信件,哈哈
    lozzow
        17
    lozzow  
       2021-07-09 19:48:11 +08:00 via iPhone
    @orangie 毕竟我做过很长一段时间爬虫🤭
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1215 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 18:13 · PVG 02:13 · LAX 10:13 · JFK 13:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.