首页 > 后端开发 > php教程 > 当 $_SERVER['HTTPS'] 不可靠时,如何可靠地验证 HTTPS 连接?

当 $_SERVER['HTTPS'] 不可靠时,如何可靠地验证 HTTPS 连接?

Barbara Streisand
发布: 2024-12-04 05:51:10
原创
307 人浏览过

How Can I Reliably Verify HTTPS Connections When $_SERVER['HTTPS'] Is Unreliable?

验证 $_SERVER['HTTPS'] 之外的 HTTPS 连接

在 $_SERVER['HTTPS'] 仍未定义的情况下,阻碍了检查 HTTPS 的传统方法连接,可以使用替代方法。

以下函数可确保准确检测,无论是否$_SERVER['HTTPS'] 存在:

function isSecure() {
  return
    (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
    || $_SERVER['SERVER_PORT'] == 443;
}
登录后复制

此代码与 IIS 无缝运行,如 PHP 文档和用户反馈中所述。

  • $_SERVER['HTTPS' ]:通过 HTTPS 连接时设置此变量,但在 IIS 中,它可能会显示意外值,例如“关闭。”
  • $_SERVER['SERVER_PORT']:通常,端口 443 与安全连接相关联,使其成为可靠的后备选项。
  • Apache 1.x 和其他具有潜力的平台配置问题可能会省略 $_SERVER['HTTPS'] 变量,而端口 443 验证作为备份

请注意,如果负载均衡器在客户端和服务器之间充当中介,则此代码主要检查负载均衡器与服务器之间的连接,而不是客户端与负载均衡器的连接。

以上是当 $_SERVER['HTTPS'] 不可靠时,如何可靠地验证 HTTPS 连接?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板