Как включить https для определенных страниц, если я получил сертификат SSL с использованием php - PullRequest
1 голос
/ 25 мая 2011

Я получил сертификат SSL для своего сайта oscommerce. Мне нужно включить https: // для некоторых конкретных страниц.

может кто-нибудь помочь?

Ответы [ 2 ]

3 голосов
/ 25 мая 2011

Чтобы получить доступ к определенной странице, вам нужно только вызвать ее по протоколу HTTPS, например, https://www.example.com. Это было легко: -).

Одна проблема, с которой вы столкнетесь, заключается в том, что каждая защищенная страница должна быть уверена в себе, что она вызывается исключительно по этому протоколу. На мой взгляд, это лучше всего сделать в общем виде в файле .htaccess, так что вам не нужно думать о реализации его на каждой странице. Пример:

http://www.martinstoeckli.ch/php/php.html#ssl_switching

Это приводит к другой проблеме с файлом cookie сеанса. На незащищенных HTTP-страницах cookie будет отправляться в незашифрованном виде, и злоумышленник может взломать cookie. Переключение между безопасными и незащищенными страницами сделает ваш сеанс уязвимым. Чтобы предотвратить это, у вас есть две возможности:

  1. Защитите весь свой сайт с помощью HTTPS. Это кажется излишним, но облегчает вашу жизнь и не должно стать проблемой для современных серверов.
  2. Защитите свои защищенные страницы с помощью второго файла cookie и оставьте файл cookie сеанса незащищенным. Пример того, как это сделать, можно найти здесь: http://www.martinstoeckli.ch/php/php.html#ssl_nomim_cookie

Надеюсь, это даст вам некоторые идеи.

3 голосов
/ 25 мая 2011

Открыть includes/configure.php и установить ENABLE_SSL на TRUE.

Как более общее решение, если вы используете Apache ...

if ( ! isset($_SERVER['https']) OR $_SERVER['https'] != 'On') {
    header('Location: https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);
}
...