【发布时间】:2010-11-13 14:09:57
【问题描述】:
我在网上看到很多教程说你需要检查$_SERVER['HTTPS'] 如果服务器的连接是用 HTTPS 保护的。我的问题是,在我使用的某些服务器上,$_SERVER['HTTPS'] 是一个未定义的变量,会导致错误。是否有另一个我可以检查的变量应该始终被定义?
为了清楚起见,我目前正在使用此代码来解析是否是 HTTPS 连接:
if(isset($_SERVER['HTTPS'])) {
if ($_SERVER['HTTPS'] == "on") {
$secure_connection = true;
}
}
【问题讨论】:
-
万一那些 $_SERVER['HTTPS'] 未定义的服务器在 HTTPS 上运行?
-
其实其中之一就是我家的 WAMP 服务器。而且我不相信它是在 HTTPS 上运行的。
-
@TylerCarter, An alternative method is to use
Securecookies. 不过要小心陷阱。