防止网站数据被爬 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
div id="Main">
zficode
V2EX    站长

防止网站数据被爬

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

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

    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  
    PRO
       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     Solana     4937 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 09:34 PVG 17:34 LAX 01:34 JFK 04:34
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86