美文网首页
PHP 检测是否 HTTPS 环境

PHP 检测是否 HTTPS 环境

作者: YaowenZ | 来源:发表于2018-03-08 16:37 被阅读0次

官方手册中的有用 $_SERVER['HTTPS'] 变量去判断,但实际上目前很多服务器并没有设置此参数,因为需要结合其他手段。

$_SERVER['HTTP_X_FORWARDED_PROTO']
$_SERVER['HTTP_X_FORWARDED_PORT']

可以通过这两个变量来判断,ZF里 Uri::getScheme() 也是使用这两个变量进行判断的。

下面是示例代码:

if (php_sapi_name() == "cli") {
      return '';
}
       
$schema = 'http://';
if ((!empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off')
        || (!empty($_SERVER['HTTP_X_FORWARDED_PROTO'])
            && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
    ) {
    $scheme = 'https://';
}
return $scheme;

更多可以参考此StackOverflow的问题:
https://stackoverflow.com/questions/1175096/how-to-find-out-if-youre-using-https-without-serverhttps

相关文章

  • PHP 检测是否 HTTPS 环境

    官方手册中的有用 $_SERVER['HTTPS'] 变量去判断,但实际上目前很多服务器并没有设置此参数,因为需要...

  • 日常工作所遇php积累

    1、isset():说明: 检测变量是否设置参考:https://www.w3cschool.cn/php/php...

  • PHP - Traversable interface

    PHP检测是否对象是否可以foreach Interface to detect if a class is tr...

  • CentOS7安装php7.4

    操作环境:php: https://www.php.net/distributions/php-7.4.21.ta...

  • PHP基础学习 - day 1

    一、环境安装 php sdk: php开发环境可以从官网下载安装 https://www.php.net/[htt...

  • linux+vue+php+nginx微信分享网页链接带图标和摘

    一、Linux安装php7.3以及相关环境配置 安装相关环境 php官网,找到https://www.php.ne...

  • php7swoole安装

    linux下安装提前需要安装好 安装php环境 https://www.php.net/[https://www....

  • iOS 给APP安全升级

    检测设备是否越狱 检测设备网络环境是否开启代理 APP 禁止动态调试 如果你在Xcode调试环境下,去掉#ifnd...

  • 2018-09-10

    function_exists的作用是检测函数是否存在(是否被定义)。 被检测的函数不仅仅是php内置的函数,用户...

  • Apache TP5 隐藏index.php

    官方给出文档开启PHP的伪静态1,,检测Apache是否支持mod_rewrite通过php提供的phpinfo(...

网友评论

      本文标题:PHP 检测是否 HTTPS 环境

      本文链接:https://www.haomeiwen.com/subject/hajyfftx.html