欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

PHP判断当前协议是否为HTTPS http 有大用

复制代码
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;
}

复制代码




php 获取当前访问URL的协议                        

<?php $slhttp = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';
echo $slhttp;
?>

 

nginx proxy-pass-php.conf 配置

location @apache

{

internal;

proxy_pass http://127.0.0.1:88;

proxy_set_header X-Forwarded-Proto $scheme;

incldue proxy.conf;

}

location ~ [^/]\.php(/|$)

{

proxy_set_header X-Forwarded-Proto $scheme;

}

 

来自  https://www.cnblogs.com/maoxianfei/p/9989324.html                                


                               


                               


                               

PHP获取请求协议类型
听语音                                        

  • |

  • 浏览:918

  • |

  • 更新:

区分HTTP和HTTPS

方法/步骤                                        

  1. 1

    $protocol = empty($_SERVER['HTTP_X_CLIENT_PROTO']) ? 'http:' : $_SERVER['HTTP_X_CLIENT_PROTO'] . ':';

  2. 2

    如果检测不到 $_SERVER['HTTP_X_CLIENT_PROTO']  就可以说明没有开启HTTPS,  就是HTTP请求

    END                                                    
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
举报作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。                                    

来自   https://jingyan.baidu.com/article/f0e83a25935dfb22e591018d.html
                               

 

普通分类: