Как Сделать Яндекс.диск Безлимитным Хранилищем Файлов

Эта статья завершающая серию моих постов про Яндекс.

Диск и загрузку файлов: обойти капчу , загрузить часть файла запросом RANGE из удаленного источника И автоматическая загрузка на Яндекс.

Диск .

Все эти посты объединены одним желанием, разобраться, как именно работает система безопасности Яндекс.

Диск и в чем ее недостатки.

Я ни в коем случае не хочу сказать, что в Яндексе работают непрофессионалы; наоборот, изучая код, я пришел к противоположному выводу.

Единственная цель данной статьи на примере Яндекс.

Диска — показать, как можно превратить бесплатный файлообменник в бесплатное хранилище для вашего проекта, просто идея.

И конечно, дать пищу для размышления разработчикам подобных сервисов.

Итак, представляю вашему вниманию пример использования файлообменника Яндекс.

Диск в не совсем целесообразных целях.

Загрузка файла - самая простая часть в этой системе, вы можете прочитать, как это делается у меня.

предыдущий пост .

Далее Яндекс.

Диск выдает ссылку и вступает в силу следующая часть: обойти капчу .

При успешном прохождении капчи система выдает вам временную ссылку, например 18.dl19sd-narod.yandex.ru/disk/number/temporary_hash/имя_файла эта ссылка действительна только до тех пор, пока вы не загрузите весь файл или не пройдет как минимум 24 часа.

Яндекс.

Диск определяет это самым простым способом — HTTP Status Code 200. После того как сервер выдал вам такой ответ, он больше ничего вам не даст по этой ссылке.

Также существует ограничение на количество ссылок, генерируемых без капчи, на основе последних данных за последние 5 минут, что не позволяет скачивать много файлов одновременно.

Все кажется логичным? Как можно обойти такой «тупой счетчик», который просто считает, сколько ссылок он выдал, 1-2-3-4-5 и CAPTCHA. Да? Но в этом-то и проблема, именно здесь заложена основа обхода этой системы.

Нам не нужно хранить файлы размером 5 ГБ, не так ли? Нам нужно хранить наши файлы 5,10, 100 мегабайт, верно? А зачем нам этот счетчик, когда есть архив? Под архивом в данном конкретном случае я подразумеваю простую склейку файлов.

Вы формируете свои файлы в архивы по 5 гигабайт и с помощью скрипта скачивание файлов по частям вы получаете к ним доступ.

Даже если у вас 1 большой файл, просто добавьте к нему 1 байт и все заработает. Поскольку ссылка действительна около суток, в течение этого времени вы можете неограниченно скачивать свои файлы обратно.

Яндекс.

Диск подумает, что вы просто скачиваете файл по частям, выдаст HTTP Status Code 206 и ссылка будет действительна даже после скачивания файла! Именно по этой причине лимита в 10 запросов без капчи с Яндекс.

Бар за 5 минут (знатоки поправят, сколько именно) более чем достаточно.

И не потому, что разработчик ошибся, а потому, что разработчик посчитал, что капча защищает файл, а на деле оказывается, что капча защищает несколько файлов в одном файле.

Самое странное, что блокировка соединения происходит внутри ссылки, а не внутри IP-адреса, т.е.

можно сгенерировать пару десятков ссылок и перегенерировать их по мере их отключения (примерно каждые 24 часа на данный момент) и скачать один и тот же файл.

с одного IP на несколько потоков (по крайней мере, у меня так было).

Таким образом, у вас всегда будет достаточно потоков для скачивания файлов.

Время от времени вам придется скачивать файл целиком, чтобы не продлевать ему жизнь вручную.

На самом деле, даже если Яндекс отключит возможность загружать файлы без капчи, это не решит проблему, так как капчу нужно вводить только один раз в день (например, включить капчу Яндекс.

диска в регистрацию на вашем проекте ) для того, чтобы скачивать из архива сколько угодно чего угодно.

Если ввести ограничение на размер загружаемого файла по ссылке, то можно столкнуться с проблемами с некоторыми менеджерами закачек, которые в случае ошибок могут перезалить часть файла, особенно если размер файла большой и канал не очень.

Как все это можно использовать? Ну, например, вы создаете очередной файловый дамп аля Rapidshare.com или фотохостинг, но не хотите упираться в ограничения Яндекс.

Фото, в чем основная проблема всех подобных проектов? Правильно, где хранить файлы недорого.

В случае с Яндекс.

Диском вы можете просто купить виртуальный/VPS хостинг в Москве и за 300 рублей получить доступ к безлимитному 100-мегабитному каналу на Яндекс.

Те.

при минимальных вложениях вы получите файловый дамп неограниченной емкости.

Если немного поработать, то действительно можно создать грамотный проект, с кэшированием данных на виртуальном хостинге и постоянным хранилищем на Яндекс.

Диске.

Конечно, для больших проектов такие вещи не делаются, но я думаю, что на начальных этапах развития вашего стартапа стоимость содержания серверов и систем хранения данных выходит на первый план, и в этом случае вы можете использовать эту идею.

P.S. Данная статья является результатом моего исследования и никоим образом не поощряет использование информации в личных целях.

Моя цель — помочь разработчикам улучшить безопасность веб-приложений, заставить их думать, что их приложение можно использовать не только так, как они изначально задумали, а, например, таким «хитрым» способом.

Именно поэтому я не буду предоставлять исходный код готовой системы.

П.

П.

С.

Судя по комментариям к моему предыдущему посту, выяснилось, что Яндекс толерантно относится к этой проблеме.

Что ж, думаю, мы скоро это поймем, если скрипты, представленные в моих статьях, продолжат работать :) П.

П.

П.

С.

На этой статье завершается данная серия, как и мой отпуск и мне пора возвращаться к работе, так что новых постов в ближайшее время ждать не стоит. Надеюсь, вам понравились мои статьи.

Теги: #Яндекс.

диск #файловый хостинг #безопасность веб-приложений #Чулан

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.