Диплом (1218689), страница 5

Файл №1218689 Диплом (WEB-сайт Общественного совета Министерства промышленности и транспорта Хабаровского края) 5 страницаДиплом (1218689) страница 52020-10-05СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 5)

И правую где при нажатии на кнопки в шапке сайта открываютсяформы с возможностью добавления информации в базу данных (рисунок 23).Рисунок 23 – Дизайна тела web-страницы личного кабинетаДанная возможность реализован с помощью CSS и JavaScript функцийslideDown сворачивания и slideUp для разворачивания блоков с формами$('#news').click(function(){if(state==false) {$('.dei2').slideDown('fast', function() {state = true;});} else {$('.dei2').slideUp('fast', function() {state= false;}); }});38Так же при нажатии кнопки добавить происходит запуск AJAX запроса который передает информацию на сервер и при соответствующей информации добавляет ее в базу данных.AJAX технология реализована с помощью библиотеки для JavaScript Jqueryc помощью функции ajax() [29]:$.ajax({url: "php/logout.php",cache: false,success: function(){document.location.reload();}});Весь дизайн личного кабинета предназначена для максимального удобнойработы с базой данных для администрации и модераторов данного проекта.3.2 Создания серверной части web-сайтаСерверная часть web-сайта реализована на языке PHP.

Она реализует генерацию web-страниц, проверки данных с форм, а так же реализации Sql запросов. Начала работы PHP сценариев начинается с открытия скобок <?php код выполняемый сервером ?> , это нужно для того что бы сервер мог интерпретировать данный код , не как обычный текст, а код необходимый для выполнения.Для работы с базами данных используется модуль MySqli который реализует проверку подключения к базе данных:$dbhost ='localhost';$dbname='obpl';$dbuser='root';$dbpass='';$mysqli = new mysqli($dbhos, $dbuser,$dbpass, $dbname);39if ($mysqli->connect_error) {die('oshibka podl (' .

$mysqli->connect_errno . ') '.$mysqli->connect_error);}Для того чтобы пользователь мог войти на сайт необходима проверка пароляиз базы данных с веденным паролям пользователя. Данная функция реализуетсяв три этапа.Первый этап это удалении стрип-тегов, HTML-тегов и Sql-тегов, что быобезопасить работу с базой данных и не получить утечку информации, для этого существуют стандартные функции работы со строкам PHP strip_tags(),mysql_real_escape_string(), htmlentities() и другие.

Они обеспечат защиту от отактипа Sql-иньекций. Для быстрой обработки этих данных была написана функция sanString реализующая очистку строки от потенциально опасных элементов:function sanString ($var){$var=strip_tags($var);$var=htmlentities($var);$var=stripslashes($var);return mysql_real_escape_string($var);}Вторым этапом является генерация хеша-пароля введенного пользователя.Так как для безопасности хранения пароля в базе данных используется не хранения самого пароля, а его хеша, необходимо выбрать тип шифрования. В PHPверсии 5.5 существует стандартные алгоритмы шифрования MD5 и SHA1, ноони являются довольна слабые в совершенных реалиях. Поэтому был выбраналгоритм шифрования Bcrypt.

[30]40Новый API хэширования паролей предоставляет четыре простых функции:– password_hash() – используется для хэширования пароля.– password_verify() – используется для проверки пароля на соответствиехэшу.– password_needs_rehash() – используется для проверки новый хэш.–password_get_info() – возвращает имя алгоритма хешированияПолучения хеша пароля выгляди следующим образом:$hash = password_hash($password, PASSWORD_DEFAULT);Третьим этапом является выборка данных из базы данных и проверки на соответствие хеши паролей из базы данных и введенм паролем.

Для выборки избазы данных необходимо создать Sql запрос:$query = "SELECT Login,Pwd FROM user_test WHERE Login='$login' ANDPwd='$pwd'";И выполнить его данный запрос с помощью метода модуля mysqli$mysqli→query($query).Далеенеобходимосверитьхешиметодомpassword_verify(). И если логин и пароль совпали, необходимо создания сессиипользователя. Для этого есть необходимо выполнить метод session_start(); И добавить в глобальную переменную $_SESSION[''] информацию, например Loginи пароль:$_SESSION['user']=$login;$_SESSION['pass']=$pwd;Это позволить пользователю при перемещении по разным web-страницамweb-сайта оставаться в сети и не нуждаться в перезаходе на web-сайт при выполнении каких либо действий.Так как для при входе на сайт была создана сессия и добавлены cookie привыходе с сайта необходимо уничтожить сессию и cookie, для удаления cookie41нужно повторно установить с настройкой даты истечения срока действия напрошедшее время.[31] При этом важно, чтобы все параметры нового вызовафункции setcookie, за исключением timestamp, в точности повторяли те параметры, которые указывались при создании cookie, в противном случае удалениене состоится.

Поэтому для удаления ранее созданного cookie нужно воспользоваться следующей строкой кода:setcookie("username", 'Hannah', time() – 25 92000, '/');Поскольку указано уже прошедшее время, cookie будет удален. Здесь использовано время, равное 2 592 000 с в прошлом (что соответствует одному месяцу). Это сделано в расчете на неправильную установку даты и времени накомпьютере клиента. Для завершения работы сессии можно воспользоватьсяфункцией session_destroy. Для быстрого выхода была написана функцияdSession для полного уничтожения сессии с очисткой всех переменных сессии:function dSession(){$_SESSION=array();if(session_id()!=""||isset($_COOKIE[session_name()]))setcookie(session_name(),'',time()-2592000,'/');session_destroy();}После того как были добавлена возможность входа на сайт, необходимо добавить реализовать вывод на экран какой либо информации, генерация HTMLдокумента.

Для вывода на экран элементов HTML в которых не используетсяэлементы PHP кода можно просто писать за пределами действия кода PHP:<body><H1> <?php код программы ?> </H2><?php код программы на ?>42</body>Или производить вывод текста, HTML тегов из самого PHP кода для этогоможно воспользоваться функцией print или echo, Так же для вывода большихчастей текста можно воспользоваться конструкцией echo <<< _END котораяпозволить генерировать большие части кода. Это нужно, на пример, для генерации нескольких одинаковых блоков:<?phpif ($lg){echo $_SESSION['user'];echo ' <a href="#" title="logout" id="logout"> Выйти</a> ';}Так как вся информация о новостях, членов, мероприятиях и прочие данныесовета хранится в базе данных и эта номинация будет добавляться в базу данных. Необходимо реализовать функцию добавления данных в базу данных.

Дляэтого необходимо в клиентской части сайта создать форму обратной связи которая будет отправлять GET или POST запрос на сервер, где будет хранитьсяскрипт обработки запроса. Так же как и с обработкой формы для проверкиаутентификации пользователя необходимо для начала очистить строки переданных данных от потенциально опасных элементов с помощью написанной функции sanString. Для этого необходимо передать в функцию строку полученногополя:<?php$Titile =sanString($_POST['title']);$text=sanString($_POST['text']);… ?>43Так же для избежания добавления данных людьми не имеющие для этогодоступ необходимо проверить во первых наличие сессии и если пользовательвошел на сайт проверить его полномочия для работы с базой данных.Если пользователь удовлетворяет всем требованиям всем требованием томожно создавать Sql запрос который будет обработан MySqli модулем и данныебудут отправлены в базу данных.Для реализации функции добавления членов совета из личного кабинетаадминистратором сайта был создан сценарий add_members.php добавления данныхДля проверки входа на сайт и уровня доступа отправителя данных проводиться проверка сравнения данных из базы сессии со стандартом доступа:if($login==""&& $lvl=1){echo "вы не вошли на сайт или у вам нет нужного уравня доступа";}Если уровень доступа является удовлетворительным и пользователь зашелна сайт то производиться создания Sql запроса для добавления данных в таблицу user_info:else{$query="INSERT INTO mp (Fnamr, Lname, Tname, info, position) VALUE(‘$Fnamr’, ‘$Lname’, ‘$Tname’, ‘$info’, ‘$position’)";После создания запроса его необходимо выполнить методом query классаmysqli который нам вернет результат добавились ли данные в базу данных:if($result = $mysqli->query($query)){echo "Данные добавлены ";}44else{echo"ошибка добавления данных";}}Аналогично добавлению членов совета происходит и добавления новостей имероприятий и других данных на сайт.

В случаях где необходимо добавить текущую дату и время в базу данных используется PHP метод date c форматом дляSql года, месяц, день Y-m-d H:i:s:$datep=date("Y-m-d H:i:s");Основным исключением в обработки подобных форм является возможностьдобавления загрузки файлов на сервер, данная технология используется для загрузки документов нормативной базы и фотографий новостей. Во первых необходимо в форму на клиентской части необходимо установить атрибут enctypeсо значением multipart/form-data и выбрать метод отправки данных POST. Послеоправки данных на сервер файл помещается в массив $_FILE. Необходимо проверить содержит ли массив какие либо данные данная проверка осуществляется с помощью инструкции:if ( $_FILE ){Когда программа обнаружиит, что файл был загружен, его имя, каким онобыло прочитано из компьютера то оно помещается в переменную name:$name=$_FILE['filename']['name'];Теперь необходимо перенести файл из временного хранилища файлов PHPв постоянное место хранения.

Характеристики

Список файлов ВКР

WEB-сайт Общественного совета Министерства промышленности и транспорта Хабаровского края
Овсейчук О
Плакаты.vsd
Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6525
Авторов
на СтудИзбе
301
Средний доход
с одного платного файла
Обучение Подробнее