Обнаружение SSL-соединения

Задача
Необходимо узнать, использует ли прибывший запрос SSL.

Решение
Проверьте значение переменной $_SERVER['HTTPS']:

if ('on' == $_SERVER['HTTPS']) {
print "The secret ingredient in Coca-Cola is Soylent Green.";
} else {
print "Coca-Cola contains many delicious natural and artificial flavors.";
}

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

Разные веб-серверы предъявляют различные требования к использованию SSL, поэтому посмотрите документацию к вашему веб-серверу для уточнения деталей. Чтобы работать с SSL, в PHP ничего менять не нужно.

Кроме изменения программы на основании значения переменной $_SERVER['HTTPS'], можно также потребовать, чтобы и значения cookies изменялись только через SSL-соединение. Если последний аргумент функции setcookie() равен 1, то броузер будет передавать cookie обратно на сервер только через безопасное соединение:

/* устанавливаем SSL-только cookie с именем "sslonly" в значение "yes",
которое теряет силу по окончании текущей сессии броузера */
setcookie('sslonly','yes','','/','sklar.com',1);

Хотя броузер посылает эти cookies обратно на сервер только через SSL-соединение, сам сервер посылает их броузеру (когда вы вызываете функцию setcookie() на вашей странице) независимо от того, использует SSL-соединение или нет запрос страницы, которая устанавливает cookie.


Если вы помещаете секретные данные в cookie, проверьте, что
вы устанавливаете cookie только с помощью SSL-запроса. Не забудьте также, что информация в cookie расшифровывается на компьютере пользователя.

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела PHP на эту тему:
Не храните пароли на своем сайте
Проверка данных с помощью хеширования
Проверка надежности пароля
Работа с потерянными паролями
Совместное использование зашифрованных данных с другим веб-сайтом

Вернуться в раздел: PHP / 14. Шифрование и безопасность