Что мне нужно для кода для использования HTTPS?
В стандартном "брошюре" у меня есть подсистема, в которой личные данные передаются взад и вперед по ряду страниц. Сайт выполнен и работает без HTTPS.
Может ли кто-нибудь указать мне список шагов, которые мне нужно сделать, реализовать HTTPS в защищенной части сайта?
Ответы
Ответ 1
Единственное, что вам, как программисту, нужно сделать, это проверить, что пользователь фактически использует HTTPS:
if($_SERVER['SERVER_PORT'] !== 443 &&
(empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) {
header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
exit;
}
Затем (введите ваш sysadmin) и установите SSL-сертификат на веб-сервере.
Ответ 2
Веб-сайт должен быть настроен сам по себе, это не относится к самому php в данный момент.
На вашем локальном ПК я думаю, что вы используете Apache как веб-сервер.
Поэтому для Apache вам необходимо установить сертификат, Apache необходимо прослушать порт https (по умолчанию 443).
Вы можете просмотреть эту ссылку, она может вам помочь: http://www.onlamp.com/pub/a/onlamp/2008/03/04/step-by-step-configuring-ssl-under-apache.html
Кроме того, во всех разделах веб-сайта вам нужно использовать протокол https в URL-адресе, а не http.
Например. https://example.com
Ответ 3
Нет изменений кода PHP. HTTPS означает данные о том, что связь между браузером и веб-сервером будет зашифрована. Браузер уже настроен для HTTPS, все, что вам нужно сделать, это настроить ваш веб-сервер. Скорее всего, вы можете сделать все изменения с вашей панели управления хостингом.
Если вы хотите принудительно установить HTTPS, вы можете использовать однострочный код mod_rewrite
Ответ 4
Попробуйте следующее:
<?php
if ($_SERVER['HTTPS'] != 'on') {
echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>';
}
?>