• XSS.stack #1 – первый литературный журнал от юзеров форума

ЖЖ-Автоответчик

SQL

(L3) cache
Пользователь
Регистрация
15.02.2006
Сообщения
162
Реакции
20
Вам понадобятся:
  • http://4lj.mivlad.net
  • The Bat!, настроенный для периодической проверки почты.
  • Немного ума и сообразительности.
Первым делом регистрируемся на http://4lj.mivlad.net или ином mail2lj сервисе. Я буду описывать создание бота именно с помощью http://4lj.mivlad.net и почтового клиента TheBat, ибо сам пользуюсь ими, а изменения, вносимые в конфигурацию при использовании иного гейта и иного почтового клиента весьма незначительны. Главное — понять несложный принцип действия.

Итак, вы прошли регистрацию, http://4lj.mivlad.net выдал вам хитрого вида адрес, вы сунули его в настройки своего LJ и на почту начали приходить комментарии к вашим записям в виде plain text сообщений. Главное достоинство http://4lj.mivlad.net в том, что не нужно переходить по ссылкам в сообщении или использовать почтовый клиент, умеющий обрабатывать POST-запросы. Вы просто отвечаете на сообщение так же, как отвечаете на обычные письма и отправляете их обычным порядком. Сделано это следующим образом: в каждом письме, посылаемом движком LJ своему подписчику, содержится уникальная строка-токен, по которой движок LJ опознаёт ответную реплику пришедшую именно от того, кому ушло оповещение и знает, куда именно эту реплику сунуть. Гейт запоминает этот токен и сам суёт вашу реплику куда нужно, не запрашивая паролей и подтверждений. Таким образом вы получаете дополнительные удобства совершенно не рискуя своей безопасностью. Кроме того, я так отвечаю на реплики ЖЖ, когда нахожусь вне дома, со смартфона. Это сильно экономит дорогой GPRS трафик.

Когда я впервые столкнулся с гейтом mail2lj в 2003 году, одной из первых мыслей было “из этого можно сделать робот для назойливых кретинов!”. Так я и поступил, потратив на это около часа времени и получив взамен огромное количество удовольствия.

Итак, приступим.

Первым делом нам нужно идентифицировать юзера, который будет общаться с механической мышью. Поле “отправитель” (”from”) сообщения, приходящего от гейта имеет примерно такой вид:


--------------------------------------------------------------------------------
mcparker in mcparker <1leq6b9.v3qp@4lj.mivlad.net>
--------------------------------------------------------------------------------
Догадаться, что делать дальше, несложно:

filter_common.png


Добавлять in к каждому никнейму нужно, чтобы вы беспрепятственно могли переписываться в журналах жертв с нормальными людьми. Иначе бот будет срабатывать на любое сообщение, пришедшее из этих журналов. Собственно, условия могут быть любыми. Я, например, некоторое время отлавливал таким же фильтром у себя в комментариях письма со словом “баян!” и отправлял в ответ реплику “а почему не аккардеон?”. Другой фильтр работал у меня вместо банилки, просто удаляя с сервера сообщения от различных буратин, дабы не мозолили глаза. В итоге все были довольны — буратины могли высказываться сколько угодно, раскрывая себя во всей красе, нормальные читатели радостно рассматривали очередной экземпляр зверинца, а я сохранял хорошее настроение и шелковистые волосы на ладонях без малейшего напряжения мозга.

Но я отвлёкся. Расскажем-ка нашему боту, что делать, когда приходят сообщения, удовлетворяющие правилам:

http://apazhe.net/wp-content/uploads/2006/...lter_action.png

В принципе, автоответ может быть всегда одним и тем же. Например “не пиши сюда больше, сука!”. Но это скучно и неконцептуально. Потому мы садимся и набиваем словарь фраз и выражений, которые бот будет случайным образом вставлять в тело письма.

файл1:


--------------------------------------------------------------------------------
(с ехидной усмешечкой)
(рыдая в голос)
(попукивая от натуги)
(злобно взвизгивая)
(стервозно хмурясь)
--------------------------------------------------------------------------------
файл2:
--------------------------------------------------------------------------------
Вы у своей мамы первый или она ещё аборты делала?
Ты бы не ######л помногу, тупица.
Да что вы говорите?
Правда?
Когда вы говорите, такое чувство, будто вы бредите…
--------------------------------------------------------------------------------
Строки могут включать в себя любой html код, который разрешён в LJ. Главное:
  • каждое собщение должно быть одной строкой. Пустых строк в файлах не оставляйте.
  • кодировка файлов должна соответствовать кодировке, в которой вам шлёт письма гейт. А гейт шлёт их в той кодировке, которую вы выбрали в настройках LJ. У меня это win1251.

    • Запихиваем оба в отдельный каталог. В данном примере я выбрал c:\bot\

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

      Тыцкаем по пункту “создать автоответ” и правим темплейт ответчика.

      template.png


      Выглядит он в итоге примерно вот так:


      --------------------------------------------------------------------------------
      %SUBJECT=”=точка бегающая=Reply to your post…”
      %COOKIE=”C:\bot\файл1″ %COOKIE=”C:\bot\файл2″
      --------------------------------------------------------------------------------
      Разберёмся, что к чему.

      Строка


      --------------------------------------------------------------------------------
      %SUBJECT=”=точка бегающая=
      --------------------------------------------------------------------------------
      вставит в субект сообщения соответствующую строку, которая заставит гейт http://4lj.mivlad.net при размещении сообщения выбрать юзерпик с соответствующим названием.

      Строка


      --------------------------------------------------------------------------------
      %COOKIE=”C:\bot\файл1″
      --------------------------------------------------------------------------------
      вставляет в письмо случайную строку из указанного файла.

      Теперь во вкладке “опции” временно переключите “Сохранять в Исходящих” и дождитесь пары писем от первой из предполагаемых жертв. Когда фильтр сработает, зайдите в папку “Исходящие” и проверьте, всё ли правильно и чётко работает. Неприятно будет спалиться на первом же сообщении, а?

      Когда вы убедитесь в том, что всё нормально, переключите ту же радиокнопку в “Отправлять немедленно” и наслаждайтесь.

      filter_option.png


      Кстати. Особо пытливые умы могут попробовать присобачить к своему The Bat Black Jack`s Plug-in, одной из функций которого является сочинение бессмысленных стихов.

      /Источник apazhe.net
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх