Что мне нужно кодировать, чтобы использовать HTTPS? - PullRequest
10 голосов
/ 05 октября 2010

В рамках стандартного сайта-брошюры у меня есть подсистема, в которой личные данные передаются взад и вперед в виде ряда страниц.Сайт готов и работает сейчас без HTTPS.

Может кто-нибудь указать мне список шагов, которые мне нужно сделать, чтобы внедрить HTTPS в безопасной части сайта?

Ответы [ 4 ]

17 голосов
/ 05 октября 2010

Единственное, что вам, как программисту, нужно сделать, это проверить, что пользователь фактически использует HTTPS:

if($_SERVER['SERVER_PORT'] !== 443 &&
   (empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off')) {
  header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
  exit;
}

Затем (у вашего системного администратора) закажите и установите SSL-сертификат на веб-сервере.

7 голосов
/ 05 октября 2010

Веб-сайт должен быть настроен сам по себе, на данный момент это не связано с самим 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

5 голосов
/ 05 октября 2010

Никаких изменений в PHP-коде не происходит. HTTPS означает данные, что связь между браузером и веб-сервером будет зашифрована. Браузер уже настроен для HTTPS, все что вам нужно сделать, это настроить ваш веб-сервер. Скорее всего, вы можете сделать все изменения из самой панели управления хостингом.

Если вы хотите форсировать HTTPS, вы можете использовать однострочный код mod_rewrite

1 голос
/ 13 мая 2017

Попробуйте это:

<?php
  if ($_SERVER['HTTPS'] != 'on') {
    echo '<script type="text/javascript">window.location = "https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] . '";</script>';
  }
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...