Пишем простой авторегистратор. Часть 5 - подтверждение по email.
Содержание
- Инструментарий
- Основы
- Боремся с капчей
- Подключаем антикапчу
- Подтверждение по email
- Пишем модуль для RegSubmitter
Давайте заглянем в наш актив. Сейчас мы уже умеем писать простые регистраторы, умеющие бороться с капчей при помощи антикапчи. От окончательного захвата мирового господства полной автоматизации процесса регистрации нас отделяет единственный барьер - подтверждение по почте. Его преодолением мы сегодня и займемся. Под нож снова пойдет toodoo.ru, который мы уже препарировали в самом начале.
Шаг 1 - анализ.
Прежде всего, надо проверить, требуется ли подтверждение вообще :) Если нет, то можно идти за пивом кефиром и наслаждаться воскресным отдыхом. Кроме того, бывает так, что подтверждение почты не является необходимым, но приносит какие-то бонусы. В таком случае вы вольны выбирать, надо вам подтверждать, или слишком лень. Я обычно подтверждаю, поскольку это придает профилю более человекоподобный вид.
Далее требуется выяснить, достаточно для подтверждения просто перейти по ссылке из письма, или надо совершить какие-то дополнительные действия. В случае с toodoo.ru после перехода на страницу нужно нажать на кнопку “Согласен” для завершения подтверждения. Поэтому нужно провести анализ этой формы, точно так же как мы анализировали на предмет защиты саму форму регистрации.
Шаг 2 - пишем код.
Для работы с почтой мы будем использовать PEAR модуль (не путать с модулями движка php) Net/POP3. На многих хостингах он уже установлен, а если нет - во вложении архив со скриптом и модулем.
Алгоритм действия таков:
- Подключаемся к серверу, авторизуемся.
- Получаем список всех писем.
- Начинаем перебирать их, запрашивая заголовки каждого письма.
- Если в поле отправителя письма указан адрес сервиса, в котором мы регистрируемся - это нужное нам письмо. Если нет - ищем дальше.
- Из письма извлекаем ссылку на страницу подтверждения. (Тут нам снова понадобятся регулярные выражения).
- Если сервис того требует, совершаем дополнительные действия для завершения подтверждения.
- ???
- PROF1T!
В случае с toodoo.ru, нам придется из страницы подтверждения добыть уникальный ключ (опять регулярки) и отправить один POST-запрос.
Собственно, вот код, он основан на коде из 2 статьи:
|
|
В коде опять есть пара синтаксических ошибок, но я думаю, для вас они проблемы не представляют :) Скачать весь скрипт: toodoo.zip
Итоги.
Теперь вы знаете все, что нужно для успешного написания авторегистратора практически к любому сервису. Поздравляю :)
Но если вы думаете, что это конец - то вы жестоко заблуждаетесь, я те позволю так просто от меня отделаться ;) В рамках цикла будет еще целых 2 статьи. Заключительной частью будет разумно сделать ответы на ваши вопросы по авторегистраторам, так что не стесняйтесь их задавать, а вот содержимое 6 части я пока придержу в секрете. Пусть это будет небольшим сюрпризом ;)
Вам удачного программирования, а я пойду разучивать это произведение :)