• 请不要在回答技术问题时复制粘贴 AI 生成的内容
showecho
V2EX  ›  程序员

写了个简单防采集,结果自己骗自己

  •  
  •   showecho · Feb 17, 2019 · 4902 views
    This topic created in 2727 days ago, the information mentioned may be changed or developed.
    Protected function _initialize(){
    if($_COOKIE['ban']){
    $this->redirect('verify/code');
    }
    $cookie=set_cookie('index');// 函数创建 cookie
    if(!$cookie || $cookie>20){
    $url = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    cookie('url',$url,120);
    cookie('ban',1,1800);
    }
    }
    我的本意是建立 cookie,如果 cookie 不存在,或者当前页面控制器命名的 cookie 两分钟超过 20 次访问就跳验证码,以为这样就可以防止简单的采集,但是我刚本地 wamp 用 file_get_contents(url),就可以无限制采集,真是太菜了,实在不好意思说出来。

    求一个简单的防采集代码,可以防住别人单 ip 连续采集,或者不同 ip 高频率采集,环境是 windows 2008,IIS 7.0,程序是 PHP。
    12 replies    2019-02-18 09:31:46 +08:00
    opengps
        1
    opengps  
       Feb 17, 2019
    首先,采集没法完全防御
    cookie 是客户端的,必然行不通,得从服务端下手,控制单 ip 访问频率
    验证码虽然没办法完全防御,但是可以过滤大部分小白采集,要求输入验证码看完整内容等做法
    tomczhen
        3
    tomczhen  
       Feb 17, 2019   ❤️ 1
    没看到是 IIS 7,不过应该用 https://www.iis.net/downloads/microsoft/dynamic-ip-restrictions 也可以。
    d5
        4
    d5  
       Feb 17, 2019
    可以结合 IP 限制、headers 头校验、字体替换、人机验证大法,筛选掉一部分基础功不扎实的爬虫开发者。但是总归对搜索引擎不友好
    wszgrcy
        5
    wszgrcy  
       Feb 17, 2019 via Android
    其实真要想抓,puppeteer 会抓的怀疑人生吧?(当然效率不能恭维)
    mooncakejs
        6
    mooncakejs  
       Feb 17, 2019
    最简单的就算 ip 限流,大于阈值弹验证码。
    coolcoffee
        7
    coolcoffee  
       Feb 17, 2019
    动态 ip 服务了解一下
    cdwyd
        8
    cdwyd  
       Feb 17, 2019 via Android
    假数据才是反爬利器,谁用谁知道。
    mywaiting
        9
    mywaiting  
       Feb 17, 2019   ❤️ 1
    防采集这样的手段太 low b 而且没有效果

    真正的好的防采集,是设置阈值,然后区分搜索引擎的来源(这个很有技术含量)和其他爬虫来源

    再然后,搜索引擎就返回真实的数据,其他爬虫来源嘛,终极手段是随机返回脏数据,是的,我就是传说中的反爬贱货中的战斗机,随机返回看起来是真实数据的脏数据
    smallgoogle
        10
    smallgoogle  
       Feb 18, 2019
    防采集真的没有什么好办法,都是依靠阈值和区分策略吧。。。毕竟数据都是用户肉眼可见的东西,就算你控制 IP 了,真的要爬你,动态 IP,代理 IP 都是起飞的。
    DonaidTrump
        11
    DonaidTrump  
       Feb 18, 2019 via iPhone
    拨号 vps 了解一下
    iiusky
        12
    iiusky  
       Feb 18, 2019
    ...dz 防采集插件可以参考一下
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   5257 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 78ms · UTC 09:01 · PVG 17:01 · LAX 02:01 · JFK 05:01
    ♥ Do have faith in what you're doing.