В стандартном «брошюре» у меня есть подсистема, в которой личные данные передаются взад и вперед по ряду страниц. Сайт создан и работает без HTTPS.
Может ли кто-нибудь указать мне список шагов, которые мне нужно сделать, реализовать HTTPS на защищенной части сайта?
Единственное, что вам, как программисту, нужно сделать, это проверить, что пользователь фактически использует HTTPS:
if($_SERVER['SERVER_PORT'] !== 443 && (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) { header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); exit; }
Затем (укажите свой системный администратор) и установите SSL-сертификат на веб-сервере.
Веб-сайт должен быть настроен сам по себе, это не относится к самому 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
Применяется изменение кода PHP. HTTPS означает данные о том, что связь между браузером и веб-сервером будет зашифрована. Браузер уже настроен для HTTPS, все, что вам нужно сделать, это настроить ваш веб-сервер. Скорее всего, вы можете сделать все изменения с вашей панели управления хостингом.
Если вы хотите заставить HTTPS, вы можете использовать один код mod_rewrite для одной строки
Попробуй это:
<?php if ($_SERVER['HTTPS'] != 'on') { echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>'; } ?>