// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= Создание приложения на основе базы данных на языке PHP
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Создание приложения на основе базы данных на языке PHP - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Создание приложения на основе базы данных на языке PHP

= Урок 5: добавление функций безопасности Реализация входа пользователя в приложения
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: Урок 5: добавление функций безопасности Реализация входа пользователя в приложения - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, Урок 5: добавление функций безопасности Реализация входа пользователя в приложения

В этом уроке рассматривается реализация функциональных возможностей входа в приложение для пользователя. Эти функции применимы к следующим файлам:

*  `index.php` 
*  `createNewWisher.php` 
*  `editWishlist.php` 
*  `db.php` 

Реализация функции входа в систему состоит из следующих действий:

1. <<_saving_the_wisher_s_id_in_the_session_upon_creation,Сохранение идентификатора пользователя в сеансе после создания пользователя>>
2. <<_validating_user_logon,Проверка того, что пользователь, предпринимающий попытки редактирования списка "Wish list", зарегистрирован в системе.>>
3. <<_html_form_for_logon_on_index_php,Регистрация пользователя на странице index.php >>

Текущий документ является частью краткого учебного курса "Создание приложения CRUD в IDE NetBeans для PHP".

[[_application_source_code_from_the_previous_lesson]]
== Исходный код приложения из предыдущего урока

Для пользователей MySQL: перейдите по link:https://netbeans.org/files/documents/4/1930/lesson4.zip[+этой ссылке+] для загрузки исходного кода, описывающего состояние проекта на момент завершения предыдущего урока.

Для пользователей баз данных Oracle: перейдите по link:https://netbeans.org/projects/www/downloads/download/php%252Foracle-lesson4.zip[+этой+] для загрузки исходного кода, описывающего состояние проекта на момент завершения предыдущего урока.

[[_saving_the_wisher_s_id_in_the_session_upon_creation]]
== Сохранение идентификатора пользователя в сеансе после создания пользователя

link:http://us2.php.net/manual/en/ref.session.php[+Session+] ("Сеанс") является хранилищем состояния для передачи информации с одной страницы на другую без использования link:wish-list-lesson5.html#htmlForm[+формы ввода HTML+]. Данная функция поддерживается посредством предопределенного массива PHР  `$_SESSION` .

В целях безопасности новый пользователь после создания должен быть автоматически зарегистрирован без заполнения формы. Поэтому необходимо изменить файл  `createNewWisher.php`  для реализации следующих функциональных возможностей:

* Добавление нового пользователя в базу данных.
* Открытие сеанса.
* Сохранение имени пользователя в сеансе
* Передача имени пользователя в сеансе при переадресации пользователя на страницу  `editWishList.php` .

В файл  `createNewWisher.php`  включите следующую строку:


[source,php]
----

WishDB::getInstance()->create_wisher($_POST['user'], $_POST['password']);
----

а далее введите следующий блок кода:


[source,php]
----

session_start();
$_SESSION['user'] = $_POST['user'];
----

Блок кода начинает сеанс, что означает открытие массива  `$_SESSION`  для ввода или извлечения данных. Затем код добавляет элемент к массиву  `$_SESSION` . Добавляемый элемент содержит значение и идентификатор. Значение – это имя недавно созданных пользователей, а "user" является идентификатором. Затем программа переадресует пользователя на страницу  `editWishList.php` .

[[_validating_user_logon]]
== Проверка допустимости входа для пользователя

При переходе пользователя на страницу  `editWishList.php`  приложение должно выдавать подтверждение того, что страница используется лицом, только что зарегистрированным на странице  `createNewWisher.php` .

Реализация этих функциональных возможностей состоит из двух действий:

* <<_retrieving_the_wisher_s_name_from_the_session,Извлечение имени пользователя из сеанса>>
* <<_logging_in_from_the_index_php_page,Переадресация пользователя на страницу index.php, в случае если имя пользователя не было извлечено из сеанса>>

[[_retrieving_the_wisher_s_name_from_the_session]]
=== Извлечение имени пользователя из сеанса

Замените код, содержащийся в блоке PHP по умолчанию,  `editWishList.php`  следующим кодом:

[source,php]
----

session_start();
if (array_key_exists("user", $_SESSION)) {
  echo "Hello " . $_SESSION['user'];
}
----

Блок кода открывает массив  `$_SESSION`  для извлечения данных и проверки того, что в  `$_SESSION`  содержится элемент с идентификатором "user". Если проверка выполнена успешно, код выводит на экран приветственное сообщение.

Для проверки правильности реализации сеанса выполните следующие действия:

1. Запустите файл  `createNewWisher.php`  и создайте нового пользователя, например, с именем "Jack".
Откроется файл  `editWishList.php`  с приветственным сообщением "Hello Jack".

[start=2]
. Можно либо очистить файл cookie сеанса в используемом браузере, либо завершить сеанс и запустить файл  `editWishList.php`  в среде IDE.
Откроется файл  `editWishList.php` , содержащий текст "Hello", поскольку в рамках сеанса не были переданы какие-либо данные пользователя. Это нежелательный вариант, так как в данном случае незарегистрированный или не выполнивший вход в систему пользователь может создавать или редактировать список "Wish list". Во избежание этого следует выполнить переадресацию пользователя на страницу  `index.php` .

[[_logging_in_from_the_index_php_page]]
=== Переадресация пользователя, не зарегистрированного в системе

Разместите следующий блок кода в файле  `editWishList.php`  под выражением  `if` :

[source,php]
----

else {
  header('Location: index.php');
  exit;
}
----

В соответствии с кодом осуществляется переадресация пользователя на страницу index.php и прерывается выполнение кода PHP.

Для проверки того, что функциональные возможности реализованы правильно, запустите файл  `editWishList.php` . Ожидаемым результатом является открытие страницы  `index.php` .

[[_html_form_for_logon_on_index_php]]
== Регистрация на странице index.php

Вход с использованием страницы index.php состоит из двух действий:

* <<logonForm,Ввод имени пользователя и пароля в форму ввода HTML и передача данных на страницу index.php для проверки достоверности.>>
* <<_logon_validation,Проверка допустимости входа>>

[[_html_form_for_logon_on_index_php]]
=== Форма HTML для входа на странице index.php

В файле  `index.php`  перед закрытием тега  `</body>` введите следующий код:

[source,xml]
----

<form name="logon" action="index.php" method="POST" >
  Username: <input type="text" name="user">
  Password  <input type="password" name="userpassword">
  <input type="submit" value="Edit My Wish List">
</form>
----

*Примечание. *Предупреждения от средства проверки HTML можно проигнорировать.

Код представляет собой link:wish-list-lesson3.html#htmlForm[+форму HTML+] которая позволяет вводить имя и пароль пользователя в текстовые поля. Если пользователь нажимает кнопку "Edit My Wish List", данные передаются на ту же страницу – index.php.

[[_logon_validation]]
=== Проверка допустимости входа

Проверка допустимости входа включает следующие действия:

* <<_logon_validation,Проверка местоположения пользователя до переадресации>>.
* <<_logon_validation,Проверка имени пользователя и пароля>>.
* Сохранение имени пользователя в сеансе и переадресация пользователя на страницу editWishList.php или <<_logon_validation,Отображение сообщения об ошибке.>>

Пользователь может выполнить доступ на страницу  `index.php`  при запуске приложения, с помощью страницы <<_function_verify_wisher_credentials, editWishList.php>> или при переадресации со страницы  `index.php`  после ввода имени и пароля.

Поскольку только в последнем случае используется link:http://www.htmlcodetutorial.com/forms/_FORM_METHOD.html[+метод запроса HTML+] POST, существует возможность узнать местонахождение пользователя, если он выполняет доступ к странице  `index.php` .

В файле index.php над блоком HTML создайте блок <? php? > со следующим кодом:

[source,php]
----

<?php
require_once("Includes/db.php");
$logonSuccess = false;

// verify user's credentials
if ($_SERVER['REQUEST_METHOD'] == "POST") {
    $logonSuccess = (WishDB::getInstance()->verify_wisher_credentials($_POST['user'], $_POST['userpassword']));
    if ($logonSuccess == true) {
      session_start();
      $_SESSION['user'] = $_POST['user'];
      header('Location: editWishList.php');
      exit;
    }
}
?>
----

Верхняя часть этого блока кода разрешает использование файла  `db.php`  и инициализирует переменную  `$logonSuccess`  со значением  `false` . В случае успешной проверки это значение сменится на  `true` .

Код, проверяющий учетные данные пользователя, сперва проверяет, является ли методом запроса POST. Если POST является методом запроса, то пользователь был перенаправлен после подачи <<_html_form_for_logon_on_index_php,формы входа>>. В таком случае блок кода вызывает функцию  `verify_wisher_credentials` , используя имя и пароль, введенные в форме входа.

Функция  `verify_wisher_credentials` , которую мы напишем в <<_function_verify_wisher_credentials,следующем разделе>>, проверяет есть ли запись в таблице  `пользователей` , где имя пользователя и пароль совпадают со значениями, поданными в <<_html_form_for_logon_on_index_php,форме входа>>. Если функция  `verify_wisher_credentials`  возвращает  `true` , то в базе данных есть пользователь с указанной комбинацией имени и пароля. Это значит, что проверка успешна и значение  `$logonSuccess`  меняется на  `true` . В таком случае начинается сеанс и открывается массив  `$_SESSION` . Код добавляет новый элемент к массиву  `$_SESSION` . Этот элемент содержит значение и идентификатор (ключ). Значение является именем пользователя, а идентификатором является "user". Затем код перенаправляет пользователя к странице  `editWishList.php`  для редактирования списка желаний.

Если функция  `verify_wisher_credentials`  возвращает  `false` , то значением переменной  `$logonSuccess`  останется false. Значение переменной используется для <<displayErrorMessage,отображения сообщения об ошибке>>.

[[_function_verify_wisher_credentials]]
=== Функция verify_wisher_credentials

Для проверки учетных данных пользователя необходимо добавить новую функцию к классу  `WishDB`  в файле  `db.php` . Входными параметрами для этой функции являются имя и пароль; функция возвращает значение 0 или 1.

*Для базы данных MySQL* введите следующий блок кода:

[source,php]
----

public function verify_wisher_credentials($name, $password) {
  $name = $this->real_escape_string($name);
  $password = $this->real_escape_string($password);
  $result = $this->query("SELECT 1 FROM wishers WHERE name = '"
                  . $name . "' AND password = '" . $password . "'");
  return $result->data_seek(0);
}
----

*Для базы данных Oracle* введите следующий блок кода (поскольку в OCI8 нет эквивалента для  `mysql_num_rows` , данный код является модифицированной формой  `get_wisher_id_by_name` ):


[source,php]
----

public function verify_wisher_credentials($name, $password) {
  $query = "SELECT 1 FROM wishers WHERE name = :name_bv AND password = :pwd_bv";
  $stid = oci_parse($this->con, $query);
  oci_bind_by_name($stid, ':name_bv', $name);
  oci_bind_by_name($stid, ':pwd_bv', $password);
  oci_execute($stid);

//Because name is a unique value I only expect one row
  $row = oci_fetch_array($stid, OCI_ASSOC);
  if ($row)
    return true;
  else
    return false;
}
----

Блок кода выполняет запрос  ` "SELECT 1 FROM wishers WHERE Name = '" . $name . "' AND Password = '" . $password . "'"`  и возвращает число записей, соответствующих указанному запросу. Если такая запись найдена, функция возвратит  `true` . Если такой записи в базе данных не найдено, функция возвратит  `false` .

[[_displaying_error_messages]]
=== Отображение сообщений об ошибках

Для включения отображения сообщений об ошибках в приложении введите следующий блок кода <? php ? > в форму "logon" на странице  `index.php`  после полей ввода, но над кнопкой:

[source,php]
----

<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") {
  if (!$logonSuccess)
    echo "Invalid name and/or password";
}
?>
----

Блок кода проверяет значение переменной $logonSuccess, и если значение есть "false", на экран выводится сообщение об ошибке.

[[_testing_the_logon_from_the_index_php_page]]
== Тестирование входа с помощью страницы index.php

Для проверки корректности работы функции входа на первой странице  `index.php`  выполните следующие действия:

1. Запустите приложение.
2. На странице  `index.php`  введите "Tom" в поле "Username" и "Tim" в поле "Password".
3. Нажмите кнопку "Edit My Wish List". Отобразится сообщение об ошибке (обратите внимание, что ширина приведенного ниже окна браузера уменьшена до 600 пикселей, в результате чего добавляется несколько разрывов строк). 

image::images/incorrectNamePasswordIndex.png[]


[start=4]
. Введите "Tom" в поле "Username" и "tomcat" в поле "Password".

[start=5]
. Нажмите кнопку Edit My Wish List ("Редактировать мой список желаний"). Отобразится страница editWishList.php: 

image::images/SuccessfulLogonOnIndexRedirectToEditWishList.png[]

[[application_source_code_after_the_current_lesson_is_completed]]
== Исходный код приложения на момент завершения текущего урока

Для пользователей MySQL: щелкните link:https://netbeans.org/files/documents/4/1931/lesson5.zip[+здесь+] для загрузки исходного кода, отражающего состояние проекта по завершении данного урока.

Для пользователей Oracle Database: щелкните link:https://netbeans.org/projects/www/downloads/download/php%252Foracle-lesson5.zip[+здесь+] для загрузки исходного кода, отражающего состояние проекта по завершении данного урока.

[[_next_steps]]
== Что дальше?

link:wish-list-lesson4.html[+<<Предыдущий урок+]

link:wish-list-lesson6.html[+Следующий урок >>+]

link:wish-list-tutorial-main-page.html[+Назад на главную страницу руководства+]


link:/about/contact_form.html?to=3&subject=Feedback:%20PHP%20Wish%20List%20CRUD%205:%20Implementing%20Security[+Отправить отзыв по этому учебному курсу+]


Для отправки комментариев и предложений, получения поддержки и новостей о последних разработках, связанных с PHP IDE NetBeans link:../../../community/lists/top.html[+присоединяйтесь к списку рассылки users@php.netbeans.org+].

link:../../trails/php.html[+Возврат к учебной карте PHP+]

