Возможный дубликат:
Как узнать, если вы используете HTTPS без $ _SERVER ['HTTPS']
Я просмотрел веб-сайт, чтобы узнать, использует ли сервер HTTPS-соединение, но ни у одного сайта, похоже, не было всех ответов (и некоторых других). Какие именно способы определить, использует ли сервер HTTPS-соединение с PHP? Мне нужно знать несколько способов обнаружения SSL, поскольку некоторые из моих сценариев перераспределяются, а разные серверы обрабатывают разные вещи.
$_SERVER['HTTPS']
Установите для непустого значения, если скрипт был запрошен через протокол HTTPS.
Примечание. Обратите внимание, что при использовании ISAPI с IIS значение будет отключено, если запрос не был выполнен по протоколу HTTPS.
Эрго, это сделает:
if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') { // SSL connection }
Ядро is_ssl () функции WordPress также добавляет проверку для порта сервера:
function is_ssl() { if ( isset($_SERVER['HTTPS']) ) { if ( 'on' == strtolower($_SERVER['HTTPS']) ) return true; if ( '1' == $_SERVER['HTTPS'] ) return true; } elseif ( isset($_SERVER['SERVER_PORT']) && ( '443' == $_SERVER['SERVER_PORT'] ) ) { return true; } return false; }