Что мне нужно для кода для использования 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>';
  }
?>