Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Установка области видимости cookie




Поскольку, по умолчанию, доступ к cookie происходит из корневого каталога, это может создать "дыры" в системе защиты, так как cookies становятся доступными в любом подкаталоге этого каталога. Ограничить доступ к cookies для всех страниц, кроме расположенных в конкретном каталоге, к примеру, /web, можно следующим образом:

setcookie ( "name", $value, "/web/" );

Однако и в этом случае, к примеру, каталоги /web/index.php, /web1/page.html и т. д. будут удовлетворять этому ограничению. Если такое положение также является нежелательным, можно ограничить область видимости cookies до конкретной страницы:

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

Однако и такой способ в полной мере не решает проблему, так как в этом случае доступ к информации, содержащейся в cookie, может получить, к примеру, скрипт /web/index.php-script/anti_cookie.php. Поэтому появляется необходимость в шифровании.

Шифрование

Применить шифрование к 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, мы рады видеть вас на нашей страничке!" );?>





Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных