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

СЛУЖБА ЗНАКОМСТВ: соединяем половинки

cuttah (cutter@real.xakep.ru)

Спецвыпуск Xakep, номер #028, стр. 028-060-5


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

РАЗБОР МОДУЛЕЙ СЛУЖБЫ ЗНАКОМСТВ

А теперь посмотрим, какие же скрипты есть и кто за что отвечает. В общем, краткое описание их жизнедеятельности:

add.cgi

Отвечает за добавление новых анкет. Использует стандартный модуль CGI для обработки форм с файлами (ENCTYPE="multipart/form-data"). Также три моих модуля: func.pl, spec.pl и data.pl. При GET запросе он выводит обычную форму заполнения анкеты. При POST добавляет анкету. Перед этим он делает проверку на повторения запроса с одного IP, чекает размер картинки и, если все ОК, посылает SQL запрос (makeid из spec.pl) и выводит html файл об успешной регистрации.

admin.cgi

Администраторский скрипт. Инклудит 4 модуля: checkankets.pl, func.pl, spec.pl и data.pl. По умолчанию выводит окно с просьбой вести пароль. Сам пароль прописывается в скрипте. Находится он в переменной $pass и равен значению "secpass". Когда будешь ставить скрипты, не забудь поменять на другое значение, а то похакают. Кстати, именно на этом месте я поленился. Советую тебе немного дописать скрипт, чтобы добавить возможность изменения пароля через вэб. Для этого тебе просто придется выделить специальный файл под пароль и дописать пару функций в admin.cgi.

anketa.cgi

Отвечает за вывод анкет по типу ориентации (нормальная, би, гомо). Юзает четыре модуля: func.pl, search.pl, data.pl и spec.pl. Скрипт очень примитивный. Он просто проверяет входные значения в query string и передает их процедуре find из модуля search.pl.

change.cgi

Отвечает за изменение/удаление анкеты, просмотра внутренних сообщений, а также за отсылку паролей забывчивым пользователям. Использует пять модулей: CGI, func.pl, spec.pl, data.pl, message.pl. Довольно загруженный кодом скрипт, в нем содержится куча проверок, всяких выводов и т.д. Поэтому, по возможности, я расставлял свои комментарии.

find.cgi

Выполняет функции поиска анкет по различным критериям: тип знакомства, город, возраст, рост и т.д. Во всем остальном является полным аналогом скрипта anketa.cgi, за исключением передачи другого количества параметров процедуре find. И так же он использует четыре модуля: func.pl, search.pl, data.pl и spec.pl.

sendme.cgi

Отправка сообщений владельцу анкеты. Подключает четыре модуля: message.pl, func.pl, spec.pl и data.pl. Может отправлять как на почту, так и во внутренние сообщения. Надо добавить, что это довольно удобно, и почему-то не все службы знакомств предоставляют такую возможность.

Назад на стр. 028-060-4  Содержание  Вперед на стр. 028-060-6