Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторная работа 4 - сеансы.doc
Скачиваний:
7
Добавлен:
03.05.2019
Размер:
261.63 Кб
Скачать

2.2.7 Шифрование

Применить шифрование к cookies можно разными способами, рассмотрим один из них:

<?

// создаем вектор начального состояния для шифрования

$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,

MCRYPT_MODE_CFB), MCRYPT_RAND);

$key = "qwe233jk312jx813893xk312"; // ключ для расшифрования

$cook_name = "maks";

$cipher = mcrypt_encrypt(MCRYPT_CAST_256, $key, $cook_name,

MCRYPT_MODE_CFB, $vector);

setcookie("username", $cipher, "/decrypt.php");

?>

Как видно из листинга 10.13, расшифровка cookie проводится при помощи скрипта decrypt.php, код которого приведен ниже:

<?

// вектор начального состояния остается неизменным

$vector = mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_CAST_256,

MCRYPT_MODE_CFB), MCRYPT_RAND);

$key = "qwe233jk312jx813893xk312";

$decrypt_name = mcrypt_ decrypt(MCRYPT_CAST_256, $key, $username,

MCRYPT_MODE_CFB, $vector);

echo("$decrypt_name, мы рады видеть вас на нашей страничке!");

?>

2.2.8 Ограничение доступа для доменов

Для дополнительной безопасности, список доменов, имеющих доступ к cookies, должен быть ограничен. Это можно сделать при помощи следующего кода:

setcookie("name", $value, "/web/index.php", ".server.com");

При таком ограничении заданной области видимости будут соответствовать домены с именами server.com, myservser.com, php.server.com и т. д., поскольку проверка на допустимость области видимости домена осуществляется по принципу концевого соответствия.

2.2.9 Отправка cookies по защищенному запросу

Не является излишним для cookie, хранящему секретные данные, разрешить отвечать только на защищенные запросы HTTP, так как в этом случае значительно затрудняется перехват данных, которыми обмениваются клиент и сервер. Для обеспечения защищенного соединения, функции setcookie передается шестой параметр со значением, равным 1:

setcookie("name", $value, time() + 600, "/web/", ".server.com", 1);

3. Порядок выполнения работы и индивидуальные задания

3.1 Содержание отчета

В отчете привести порядок выполнения работы, список использованных компонентов, экранные формы разработанного приложения и распечатку исходного кода.

3.2 Индивидуальные задания

  1. Добавить страницы сайта для администратора и зарегистрированного пользователя.

  2. Обеспечить доступ к информации на этих страницах только соответствующим пользователям, используя механизмы сессий или Cookies.

11