Мегаобучалка Главная | О нас | Обратная связь


Руководство программиста



2019-07-03 207 Обсуждений (0)
Руководство программиста 0.00 из 5.00 0 оценок




 

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

1) Модуль install . php

Назначение: для первоначального создания базы данных и таблиц, необходимых для работы приложения.

Принимаемые параметры:

action – код действия (0 – вывод формы запроса логина и пароля администратора, 1 – инсталляция); login – логин администратора; password – пароль администратора.

Функции:

ok($sql,$table);

- вывод в сообщения в гипертекстовом формате о результате выполнения запроса sql в таблице table.

2) Модуль tunes . php

Назначение: содержит константы со значениями логина, пароля и имени базы данных, использующиеся для подключения к БД MySQL:

dbName – имя базы данных; hostname – имя хоста MySQL или URL удаленной базы данных; username – логин пользователя; password – пароль для доступа к БД.

3) Модуль index . php

Назначение: отображение в гипертекстовом формате подразделов и разделов каталога и объявлений с разделением на страницы.

Принимаемые параметры:

action – код действия (0 – отображение главной страницы каталога, 1 – отображение разделов каталога, 2 – отображение объявлений в текущем подразделе каталога); id – идентификатор текущего раздела или подраздела каталога; f – идентификатор фильтра сообщений (0 – фильтр выключен, 1..3 – фильтр включен на соответствующий тип; n – порядковый номер запрашиваемой страницы.

Функции:

check($value);

- возвращает 1 если строка value содержит цифровые символы, иначе 0.

catalog_options($id);

- возвращает значение параметра каталога с порядковым номером id из таблицы OPTIONS.

catalog_item_name($id);

- возвращает значение поля name из таблицы SUBJECT по заданному идентификатору подраздела id.

catalog_print();

- выводит в гипертекстовом формате дерево подразделов и разделов каталога.

message();

- выводит в гипертекстовом формате объявления текущего раздела или подраздела с применением фильтра типа сообщений.

message_catalog();

- выводит в гипертекстовом формате отображение разделов и подразделов каталога, отображаемые на заглавной странице электронной доски объявлений.

4) Модуль adduser . php

Назначение: добавление новой учетной записи пользователя.

Принимаемые параметры:

action – код действия (0 – вывод формы регистрации, 1 – добавление учетной записи); login – желаемый логин пользователя, password – желаемый пароль, contact – контактная информация о пользователе.

Функции:

check($value);

- возвращает «1» если строка value содержит цифровые символы, иначе «0».

check_enter($value)

- возвращает «1» если строка value содержит буквенно-цифровые символы, иначе «0».

check_id($id);

- возвращает значение поля topic таблицы SUBJECT по заданному порядковому номеру записи.

message_check($t);

- возвращает текст t, в котором HTML-тэги заменены на их «безопасные» эквиваленты.

user_form_add();

- выводит форму регистрации пользователя.

user_add();

- добавляет новую учетную запись пользователя в таблицу USERS.

5) Модуль enter . php

Назначение: авторизация пользователя.

Принимаемые параметры:

login – логин пользователя, password – пароль.

Функции:

check_enter($value);

- возвращает «1» если строка value содержит буквенно-цифровые символы, иначе «0».

randString($pass_len);

- возвращает строку длиной pass_len из случайно сгенерированных буквенно-цифровых символов.

6) Модуль sessions . php

Назначение: аутентификация пользователя.

Принимаемые параметры:

$_SESSION["session"] – значение кода сессии авторизованного пользователя.

Функции:

not_enter();

- делает редирект пользователя на модуль авторизации enter.php в случае невозможности аутентификации.

7) Модуль users . php

Назначение: отображение в гипертекстовом формате интерфейса аккаунта пользователя и функциональный набор средств для работы с объявлениями.

Принимаемые параметры: action – код действия, $id, $n, $i, $a;

Функции:

check($value);

- возвращает «1» если строка value содержит цифровые символы, иначе «0».

check_enter($value)

- возвращает «1» если строка value содержит буквенно-цифровые символы, иначе «0».

check_id($id);

- возвращает значение поля topic таблицы SUBJECT по заданному порядковому номеру записи.

catalog_options($id);

- возвращает значение параметра каталога с порядковым номером id из таблицы OPTIONS.

catalog_item_name($id);

- возвращает значение поля name из таблицы SUBJECT по заданному идентификатору подраздела id.

user_login($id);

- возвращает логин пользователя из таблицы USERS по заданному идентификатору id.

catalog_print();

- выводит в гипертекстовом формате дерево подразделов и разделов каталога.

message();

- выводит список объявлений текущего раздела или подраздела каталога объявлений.

catalog_list();

- выводит список разделов и подразделов каталога объявлений.

action_list();

- формирует список типов объявлений из таблицы ACTION.

message_add();

- добавление нового объявления в таблицу MESSAGES.

message_check($t);

- возвращает текст t, в котором HTML-тэги заменены на их «безопасные» эквиваленты.

message_del();

- удаление объявления из таблицы MESSAGES.

message_form_edit();

- вывод формы редактирования текста объявления.

message_edit();

- обновление текста объявления в таблице MESSAGES.

user_exit();

- закрытие пользовательской сессии и выход из аккаунта.

user_del();

- удаление учетной записи текущего пользователя.

send_mail();

- рассылка объявлений на почтовые адреса подписчиков.

8) Модуль mail . php

Назначение: отображение в гипертекстовом формате интерфейса аккаунта подписки на почтовую рассылку и необходимый функциональный набор средств для работы.

Принимаемые параметры: action – код действия (1 – добавление подписки на текущий подраздел каталога, 2 – удаление подписки от текущего раздела, 3 – включение почтовой рассылки, 4 – удаление подписки, 5 – регистрация почтового адреса, 6 – активация рассылки подтверждающим кодом, 7 – удаление почтового адреса из рассылки); id – текущий подраздел каталога; еmail – почовый адрес подписчика.

Функции:

check($value);

- возвращает «1» если строка value содержит буквенно-цифровые символы, иначе «0».

check_id($id);

- возвращает значение поля topic таблицы SUBJECT по заданному порядковому номеру записи.

check_mail($mail);

- возвращает «1» если строка mail содержит правильный формат записи e-mail адресов, иначе «0».

catalog_options($id);

- возвращает значение параметра каталога с порядковым номером id из таблицы OPTIONS.

message_catalog();

- выводит в гипертекстовом формате отображение разделов и подразделов каталога, отображаемые на заглавной странице электронной доски объявлений.

topic_add();

- добавление подписки на почтовую рассылку объявлений текущего подраздела каталога.

topic_del();

- удаление подписки на почтовую рассылку объявлений текущего подраздела каталога.

sendmail_enable();

- включение или выключение рассылки на данный e-mail.

topic_del_all();

- отписка почтового адреса от всех подразделов.

user_reg();

- регистрация почтового адреса.

user_reg_activation();

- активация почтовой подписки.

user_form_reg();

- вывод формы регистрации почтового адреса.

activation_wait();

- вывод формы с запросом на ввод активирующего кода.

user_del();

- удаление почтового адреса из рассылки.

9) Модуль moderator . php

Назначение: отображение в гипертекстовом формате интерфейса аккаунта модератора и функциональный набор средств для работы с каталогом объявлений и удалением сообщений.

Принимаемые параметры:

action – код действия (0 – отображение главной страницы каталога, 1 – отображение разделов каталога, 2 – отображение объявлений в текущем подразделе каталога); id – идентификатор текущего раздела или подраздела каталога; n – порядковый номер запрашиваемой страницы.

Функции:

check($value);

- возвращает «1» если строка value содержит цифровые символы, иначе «0».

catalog_options($id);

- возвращает значение параметра каталога с порядковым номером id из таблицы OPTIONS.

catalog_item_name($id);

- возвращает значение поля name из таблицы SUBJECT по заданному идентификатору подраздела id.

catalog_print();

- выводит в гипертекстовом формате дерево подразделов и разделов каталога.

message();

- выводит в гипертекстовом формате объявления текущего раздела или подраздела.

10) Модуль admin . php

Назначение: отображение в гипертекстовом формате интерфейса аккаунта администратора и функциональный набор средств для работы с пользователями, основными параметрами и разделами каталога.

Принимаемые параметры:

action – код действия (1 – обновляет значение основных параметров каталога в таблице OPTIONS, 2 – создает новый раздел в каталоге с идентификатором id, 3 – создает новый подраздел с идентификатором id, 4 – удаляет раздел или подраздел с идентификатором id, 5 – удаляет пользователя с логином name, 6 – снимает права модерирования с логина name, 7 – назначает права модерирования на логин name, 8 – выводит список зарегистрированных пользователей в гипертекстовом формате)

Функции:

check($value);

- возвращает «1» если строка value содержит цифровые символы, иначе «0».

refresh();

- делает редирект пользователя на модуль admin.php.

Контрольный пример

 

Интерфейс приложения выглядит следующим образом:

 

Рис. 8.1 - Вывод разделов и подразделов основного каталога электронной доски объявлений


Рис. 8.2 - Вывод всех объявлений из раздела «Компьютеры»

Рис. 8.3 - Вывод объявлений с применением фильтра на тип «Предложение»

Рассмотрим процесс регистрации нового пользователя, например belka:

 

Рис. 8.4 - Регистрация нового пользователя belka

 

Содержимое таблицы пользователей USERS до регистрации:


Рис. 8.5 - Дамп данных таблицы USERS до регистрации

Содержимое таблицы после регистрации:

 

Рис. 8.6 - Дамп данных таблицы USERS после регистрации

Последняя строка в таблице содержит добавленную учетную запись:

идентификатор, хэш-код пароля, контактную информацию и права доступа пользователя.

Рассмотрим процесс авторизации зарегистрированного пользователя belka:

Рис. 8.7 - Авторизация пользователя


Содержимое таблицы сессий SESSIONS после авторизации пользователя:

 

Рис. 8.8 - Дамп данных таблицы SESSIONS

Запись в таблице содержит идентификатор пользователя, код и время жизни сессии.

После успешной аутентификации пользователь продолжает работу в своем аккаунте:

Рис. 8.9 - Аккаунт пользователя

Рассмотрим пример добавления нового объявления:

Рис. 8.10 - Добавление нового объявления: выбор подраздела каталога


Заключение

Задача, поставленная на бакалаврскую работу, была успешно выполнена. На примере электронной доски объявлений было разработано интерактивное интернет-приложение, сочетающее в себе работу с базой данных MySQL, практическую реализацию механизма регистрации, авторизации пользователей, основные принципы подписки на почтовую рассылку. Также в работе был разработан и применен алгоритм аутентификации, который обеспечивает надежную защиту от взлома паролей пользователей для приложений подобного уровня.

Взаимодействие приложения с пользователем было выполнено в виде простого и интуитивно-понятного WEB-интерфейса.

Данный проект функционирует в сети интернет по адресу http://members.lycos.co.uk/ngtubbs.

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


Список литературы

 

1. Д.В. Котеров. Самоучитель PHP 4. Питер 2000 г.

2. Р. Курепин. Учебный курс по программированию на PHP.

3. Л. Ульман. Основы программирования на РНР.

4. PHP Manual.

5. M. Kabir. Secure PHP Development.



2019-07-03 207 Обсуждений (0)
Руководство программиста 0.00 из 5.00 0 оценок









Обсуждение в статье: Руководство программиста

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (207)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)