栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何确定您是否在不使用$ _SERVER ['HTTPS']的情况下使用HTTPS

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何确定您是否在不使用$ _SERVER ['HTTPS']的情况下使用HTTPS

即使

$_SERVER['HTTPS']
未定义,这也应该始终有效 :

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

该代码与IIS兼容。

1)如果通过HTTPS协议查询脚本,则设置为非空值。

2)请注意,当将ISAPI与IIS一起使用时,如果请求不是通过HTTPS协议发出的,则该值将为“ off”。(对于运行PHP作为Fast-
CGI应用程序的IIS7,已经报告了相同的行为)。

另外,

$_SERVER['HTTPS']
即使安全连接,Apache1.x服务器(以及损坏的安装)也可能尚未定义。尽管不能保证,但按照惯例,端口443上的连接可能使用安全套接字,因此需要进行额外的端口检查。

附加说明:如果客户端与服务器之间存在负载平衡器,则此代码不会测试客户端与负载平衡器之间的连接,而是测试负载平衡器与服务器之间的连接。要测试以前的连接,您必须使用

HTTP_X_FORWARDED_PROTO
标头进行测试,但这要复杂得多。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/465748.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号