Обнаружение SSL С помощью PHP [дубликат]


Возможный Дубликат:
Как Узнать, Используете Ли Вы HTTPS Без $_SERVER['HTTPS']

Я искал в Интернете способы определить, использует ли сервер HTTPS-соединение, но, похоже, ни на одном сайте не было всех ответов (и некоторых других). Каковы именно все способы определить, использует ли сервер HTTPS-соединение с PHP? Мне нужно знать несколько способов обнаружения SSL, так как некоторые из моих скриптов распространяются и различные серверы обрабатывают вещи по-разному.

Author: Community, 2011-09-05

2 answers

$_SERVER['HTTPS']

Установите непустое значение, если скрипт был запрошен по протоколу HTTPS.
Примечание: Обратите внимание, что при использовании ISAPI с IIS значение будет выключено, если запрос не был сделан по протоколу HTTPS.

Http://www.php.net/manual/en/reserved.variables.server.php

Следовательно, этого будет достаточно:

if (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off') {
    // SSL connection
}
 71
Author: deceze, 2011-09-05 05:37:16

Ядро WordPress is_ssl() функция также добавляет проверку порта сервера:

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;
}
 16
Author: yoavf, 2013-06-19 14:14:18