php里如何检测当前是不是正在使用https协议?


看到很多程序用下面这段代码


 php


 if (strtoupper($_SERVER['HTTPS']) == 'ON') {
    ...
}

但是很多服务器压根就没发送 HTTPS 这个头给php-fpm啊?到底应该怎么做才准呢?

php https

kiefer 10 years ago

 php


 function is_HTTPS(){  
    if(!isset($_SERVER['HTTPS']))  return FALSE;  
    if($_SERVER['HTTPS'] === 1){  //Apache  
        return TRUE;  
    }elseif($_SERVER['HTTPS'] === 'on'){ //IIS  
        return TRUE;  
    }elseif($_SERVER['SERVER_PORT'] == 443){ //其他  
        return TRUE;  
    }  
    return FALSE;  
}

卡哇伊丶愛 answered 10 years ago

Your Answer