HTTPS представляет собой использование алгоритма для защиты транспортного уровня связи, который шифрует то, что браузер и сервер отправляют друг другу.Зашифрованная форма, отправляемая по сети, стоит дорого в вычислительном отношении, чтобы вернуться в исходное содержимое, если только тот, кто расшифровывает зашифрованный текст , не имеет парного закрытого ключа (или ... a «слабый в вычислительном отношении» алгоритм ).
Это точка-точка (клиент отправляет запрос на сервер, сервер принимает, определяет ответ, отправляет ответ), поэтому браузер и сервер сначала обмениваться открытыми ключами , которые представляют то, против чего данные, которые вы отправляете или получаете, будут "зашифрованы".Закрытый ключ хранится у эмитента открытого ключа, что позволяет этому компьютеру «расшифровывать» и получать исходное содержимое, которое было отправлено получателю.
Таким образом, при создании пары секретный / открытый ключ закрытый ключхранится (конфиденциально и в тайне) на сервере, а соответствующий открытый ключ отправляется в браузер.Кроме того, браузер делает то же самое и передает открытый ключ на сервер.
«Защита» конфиденциальной информации - это еще не все;Вы также можете использовать SSL / TLS, например, для предотвращения подделки данных или даже в качестве дополнительного шага проверки.
Чтобы настроить HTTPS и сделать его доступным для использования, вам необходимо:
- Получить открытый / закрытый ключ (подпись с помощью центра сертификации или CA потенциально необязательна в зависимости отна ваших конечных пользователей).
- Установите его в хранилище ключей на сервере, доступном для вашего веб-сервера.OpenSSL используется для обоих этих шагов во многих случаях.
- Настройте вашу систему на использование URL-адресов HTTPS (для всех ресурсов, а не только для
<form action="https://...">
s).
Парапримечания:
- Браузеры имеют свои собственные сертификаты, так что не беспокойтесь об этом.
- Многие CMS и инфраструктуры позволяют указывать HTTPS на уровне приложений
Вы можете использовать WireShark , чтобы проверить, что ваш компьютер на самом деле отправляет и получает.Это может быть очень полезным, особенно в сочетании с просмотром запроса / ответа на консолях Firebug или Chrome Net.
В онлайновом руководстве по PHP есть OpenSSL «книга».Вот пример того, как CodeIgniter обрабатывает настройку HTTPS на уровне приложения .
Существуют различные учебные пособия по настройке SSL в стеке LAMP.Вот руководство по WAMP2 HTTPS и настройке SSL , если вам просто нужна среда разработки.
Если у вас есть среда общего хостинга, вы не сможете самостоятельно выполнить настройку SSL на сервере;это может быть обработано администратором сервера.Посоветуйтесь с вашим хозяином.DreamHost, например, имеет расширенные документы .