Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #30, МАЙ 2003 г.

POP дает! - оперативная почтовая инфа

Владимир Егоров aka Dr.NET

Спецвыпуск Xakep, номер #030, стр. 030-038-1


(vme@front.ru) & ilich (ilich@atrus.ru)

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

Даю расклад

Сегодня, чувак, ты поимеешь счастье получить толчок. Боюсь тебя разочаровать, но в сантехнику я не вдарился - получишь ты не керамическое изделие с другом вантозом, а идею, как можно значительно упростить свое существование. Пинок в счастливое будущее, иначе говоря :). Идея такова.

Замутим-ка мы с тобой пагу, которая будет подключаться к POP-серверу и получать с него информацию о количестве и общем объеме почтовых сообщений. Если ты ни разу не грамотный, разъясняю, что POP расшифровывается как Post Office Protocol - почтовый протокол - используется для передачи почтовых сообщений и служебной информации от сервера клиенту и не имеет ничего общего с попсой :). Запомни.

Для чего нам такая фигня нужна? Этот вопрос мы задали Дроничу, фанату мобильных технологий: "Раньше, когда мне надо было узнать, что творится в моем почтовом ящике, мне приходилось отгонять от компа живых людей нецензурными матами. Потом я открыл для себя почтовый клиент в мобильном телефоне, но и он не решал моих проблем, так как принимал всю инфу с сервера, сволочь! А теперь мне достаточно зайти на страничку со скриптом через WAP-гейт и в считанные секунды выяснить количество спама на душу населения. Ильич - втирает так, как другим не под силу!".

Поехали, создаем новый HTML-файл с именем, например, "main.html". Пишем в нем стандартное начало, задаем заголовок и все такое. После этого в теле документа надо задать форму для отправки данных на сервер. Атрибуту "action" тега "form" задай значение, например, "frame.jsp" - это имя файла со сценарием, который будет обрабатывать нашу форму. Расширение "*.jsp" обозначает файл Java Server Pages, то бишь та самая технология, которую я использовал при сотворении сценария обработчика. О том, что есть это, чуть позже. Оформляем форму в виде таблицы для более ровного расположения полей. Некоторые искренне полагают, что так красивее :)... Как это делается, полагаю, учить не надо потому, что азы html знают все.

Что и где?

В первое текстовое поле формы будем вводить адрес POP-сервера, на котором мы хотим проверить почтовый ящик. Конечно, по-хорошему надо бы проверить, насколько корректно введен адрес сервера, но я этого делать сейчас не буду, ибо не в этом филейная часть проблемы. Если ты особо педантичный перец и без такого геморроя физически не протянешь, можешь использовать регулярные выражения на JavaScript. Для этого надо заменить кнопку типа "submit" на простой "баттон" и задать JavaScript-обработчик, содержащий проверку на соответствие вводимых данных регулярному выражению. В случае успеха просто пишем "frm.submit()", иначе отправляем форму далеко и надолго, на доработку то есть. Регулярное выражение, нужное для проверки, выглядит примерно так: "\w+(.\w+)*(.\[a-z]+)+". Так что, если желание не пропало, можешь потренироваться сам.

Содержание  Вперед на стр. 030-038-2