Php https запрос на страницу - PullRequest
1 голос
/ 24 марта 2012

Я пытался использовать этот код:

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

чтобы моя страница входа и страница регистрации содержали https , чтобы использовать ssl, чтобы убедиться, что все безопасно, но при запуске страницы появляется сообщение об ошибке Неопределенная ошибка индекса при использовании $ _SERVER [ 'HTTPS']

поэтому я решил использовать другой:

if ( isset( $_SERVER["HTTPS"] ) && strtolower( $_SERVER["HTTPS"] ) == "on" ) {
  $pageURL .= "s";
}

но это не сработало. Https не появился и http только там ...

есть идеи, как это сделать с помощью php ...

Спасибо

Решение:

if($_SERVER["HTTPS"] != "on")

{ header("Location: https://" . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]); exit(); }

Ответы [ 2 ]

2 голосов
/ 24 марта 2012

Из руководства :

$_SERVER['HTTPS']
Устанавливается в непустое значение , если скрипт запрашивается по протоколу HTTPS,

Следовательно, вы должны использовать следующее условие для проверки HTTPS-соединения:

if(!empty($_SERVER['HTTPS']))
{
    // https://...
}
1 голос
/ 18 мая 2013

Вам лучше использовать $_SERVER['SERVER_PORT'].HTTP_PORT не всегда возвращает номер порта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...