Обнаружение 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 расшифровывается на компьютере пользователя.
Теги:
защита, шифрование, пароли
Добавлено: 22 Июля 2018 14:01:50 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...