web-dev-qa-db-ja.com

PHPを使用したSSLの検出

可能性のある複製:
$ _ SERVER ['HTTPS']なしでHTTPSを使用しているかどうかを調べる方法

サーバーがHTTPS接続を使用しているかどうかを検出する方法についてWebを調べましたが、すべての回答(およびいくつかの異なる回答)があるサイトはありませんでした。サーバーがPHPでHTTPS接続を使用しているかどうかを正確に検出する方法は何ですか?一部のスクリプトが再配布され、さまざまなサーバーが異なる方法で処理するため、SSLを検出するいくつかの方法を知る必要があります。

26
Phillip

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
yoavf