close

之前在php判斷http或https只用(isset($_SERVER[‘HTTPS’]) && $_SERVER[‘HTTPS’] == “on”

結果這次失效,把整個$_server印出來之後發現沒有https這個屬性,取而代之的是HTTP_X_FORWARDED_PROTO這個屬性!!

找了一下這個應該是完整版了吧!?

 

/**
* PHP判断当前协议是否为HTTPS
*/
function is_https() {
if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {
      return true;
} elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {
      return true;
} elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {
     return true;
}
return false;

--

參考自 https://blog.csdn.net/haibo0668/article/details/81113133

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 dizzy03 的頭像
    dizzy03

    碎碎念

    dizzy03 發表在 痞客邦 留言(0) 人氣()