Как обойти каптчу в Яндекс.Диск

    Итак, все мы знаем, что на яндексе можно хранить файлы до 5 гигабайт, но при загрузке он требует ввести каптчу или установить Яндекс.Бар. Так как Яндекс.Бар я не использую, то решил проверить, а собственно каким таким гениальным способом проверяет Яндекс этот самый пресловутый плагин?

    Для этого эксперимента все-таки пришлось его установить на Firefox и используя плагин FireBug начать тестирование…

    На яндекс.диск был закачан тестовый файл, в Firefox включен плагин FireBug и установлен Яндекс.Бар.

    Для того чтобы FireBug заработал, надо включить панель Сеть.

    обновляем страничку с файлом

    И что же мы видим в консоли сети FireBug:

    User-Agent Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1 (.NET CLR 3.5.30729) YB/4.2.0

    Неужели все так просто? Добавляется строчка YB/4.2.0 к строке User-Agent

    Для проверки нашей догадки, устанавливаем плагин User Agent Switcher, создаем в нем еще одного агента и называем его Yandex.Bar, вставляем в поле User-Agent строчку выше, и включаем его. Выключаем плагин Яндекс.Бар и вуаля!

    Яндекс бара нет, каптчи нет тоже :)

    И на закуску php скрипт для загрузки без каптчи:

    Copy Source | Copy HTML
    1. #!/usr/local/bin/php
    2. <?php
    3. $url = 'http://narod.ru/disk/fileurl';
    4. $ch = curl_init();
    5. curl_setopt($ch,CURLOPT_URL,$url);
    6. curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
    7. curl_setopt($ch,CURLOPT_FOLLOWLOCATION,1);
    8. curl_setopt($ch,CURLOPT_USERAGENT,'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3 YB/3.5.3');
    9. $in = curl_exec($ch);
    10.  
    11. if (!preg_match('/<a class="h\-link" rel="yandex_bar" href="(.*?)"/',$in,$m)) {
    12.     die();
    13. }
    14.  
    15. $url ='http://narod.ru'.$m[1];
    16.  
    17. curl_setopt($ch,CURLOPT_URL,$url);
    18. print curl_exec($ch);
    19. curl_close($ch);
    20. ?>
    21.  


    P.S. К сожалению, сильно радоваться всему этому не стоит, так как на Яндекс.Диск стоит ограничение на загрузку без каптчи.
    Метки:
    Поделиться публикацией
    Комментарии 23
    • +8
      Не хочу вас расстраивать, но почти год назад был такой же топик :)
      habrahabr.ru/blogs/yandex/37735/

      Тем не менее, труды ваши, несомненно, полезны, ловите плюсы.
      • +2
        Да, странно, что я его не видел… Но в моем, для удобства пользователей, есть скрипт загрузки :)
        • 0
          В одном из номеров ][акера была заметка на эту тему. Журнал примерно годичной давности.
          • +1
            удивительно, что за год в яндекс не шелохнулись
            • 0
              А зачем? Всеравно лимит на скачивание без каптчи. Много скачаешь она появляется.
              • 0
                Не подскажете примерно сколько?
                • 0
                  я попробовал подряд раз пять скачать только маленькую часть файла (через range запрос), начало просить каптчу. Так что думаю, что лимит именно на то сколько получил ссылок для скачивания, а не на то, сколько именно скачаешь килобайт.
                  • 0
                    вот интересно бы еще узнать сколько времени дается на загрузку файла по конкретной ссылке… и тогда… хотя что-то я размечтался, яндек точно сразу забанит :)
                    • 0
                      Лимит по ип адресу?
                      • 0
                        Да, ограничение 11 скачиваний с одного IP без каптчи.
                        • 0
                          потестировал более подробно, похоже, есть ограничение на количество запросов в единицу времени, возможно минута, так как через некоторое время опять возможно качать без каптчи с этого IP.
              • 0
                скрпт хорош, однако я бы на вашем месте усовершенствовал его и дал бы возможность скармливать урл для загрузки через argv[1] :) было бы удобно
                • 0
                  тогда, я думаю, надо еще и второй параметр ввести, куда и под каким именем файл сохранять, что-то вроде

                  download.php url /path/filename
                  • 0
                    может уже проще использовать wget? :)
                    • 0
                      Для сервисов лучше php с curl, так как есть возможность даже докачку организовать таким образом.
                      • 0
                        каких сервисов? не понял.

                        wget тоже докачку поддерживает :)
                        • 0
                          я использую такие скрипты для организации загрузки архивных файлов по требованию через сайт. что-то вроде личного сервиса хранения файлов.
                • 0
                  Эх, и когда же они разучатся навязывать эти осточертевшие тулбары?
                  • 0
                    Никто и не заставляет ставить этот тулбар. Можно пользоваться и без тулбара, но придется ввести капчу.
                    • 0
                      Так создание неудобства в виде ввода капчи и есть навязывание.
                      • +3
                        Да-да… И 5Гб места под файлы зачем-то навязали, сволочи
                  • НЛО прилетело и опубликовало эту надпись здесь
                    • 0
                      С добрым утром!

                      Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.