1. Постановка и анализ задачи
Постановка задачи: разработать интернет-приложение для организации электронной доски объявлений.
Исходные данные к работе: Windows98, интернет-сервер, наличие БД, доступ к приложению через WEB-интерфейс. Требуется организовать механизм регистрации и авторизации пользователей, возможность добавления, разделения по тематикам каталога, последующего редактирования и удаления объявлений, а так же подписку на почтовую рассылку объявлений. Предусмотреть режим администрирования с возможностью редактирования основных параметров приложения и разделов каталога доски объявлений, назначения прав доступа для зарегистрированных пользователей, а так же режим модерирования с возможностью удаления любого объявления из каталога.
Проведем анализ поставленной задачи: требуется разработать интернет-приложение для организации электронной доски объявлений. Электронная доска объявлений предназначена для небольших и средних коммерческих организаций, желающих бесплатно разместить рекламу своих товаров в сети интернет, а так же частных лиц, желающих продать или приобрести те или иные товары.
Приложение должно взаимодействовать с пользователями, то есть должно быть интерактивно, поэтому должно быть написано на одном из языков программирования web-сценариев, таких как Perl, PHP или других. Очевидно, что приложению потребуется оперировать с немалыми массивами данных, поэтому для их надежного хранения потребуется база данных, поскольку случай хранения информации непосредственно в файлах на сервере не является надежным и безопасным из-за проблем со множественным доступом. Приложение устанавливается на интернет-сервере, доступ пользователей к приложению осуществляется через WEB-интерфейс с помощью браузера, например MS Internet Explorer. Таким образом подразумевается, что работа с приложением будет вестись только через HTTP-протокол.
Структура интерфейса электронной доски объявлений должна быть понятна для обычного пользователя, в то же время необходимо позаботиться об наборе функциональных средств, обеспечивающих удобство работы с набором объявлений. Для этого разделим все объявления на рубрики и организуем их отображение в виде логического дерева разделов и подразделов каталога. Поскольку у каждого объявления есть определенный тип («спрос», «предложение», «обмен» и т.п.), нужно позаботиться о том чтобы пользователь мог просматривать объявления только нужного ему типа.
В целях обеспечения порядка и безопасности объявления могут добавлять только зарегистрированные пользователи. При регистрации у пользователя запрашивается логин, пароль и контактная информация. Для того чтобы исключить хранение паролей пользователей в базе данных в открытом виде, нужно предусмотреть их шифрование.
Зарегистрированные пользователи проходят процедуру авторизации, в которой у них запрашивается логин и пароль. Так как используется протокол HTTP, все отправляемые данные идут от пользователя к серверу в открытом виде. Для того чтобы свести к минимуму риск от перехвата пароля, после процедуры авторизации он ни в каком виде не должен передаваться от сервера к пользователю и наоборот. В тоже время нужно обеспечить дальнейшую аутентификацию пользователей для определения прав доступа при попытке выполнении ими определенных операций с данными. ............