【发布时间】:2017-10-27 07:44:38
【问题描述】:
我对安全性(证书)很陌生,不明白它是如何工作的。
我有IIS 服务器并安装了证书。我可以通过两种不同的方式打开我的网站:
http://website 和
'https://website'。
当我以http 打开它时,在地址栏中我可以看到如果我以https 打开它,则显示网站不安全,然后出现挂锁。
但我不明白在这种情况下安全性在哪里。如何用php控制它?
我可以检查站点是否有$_SERVER['HTTPS'] != 'on',然后让用户访问,但如果我从服务器中删除证书,我仍然可以作为“https”访问,但浏览器说这不是安全站点,但$_SERVER['HTTPS'] 仍然显示为on
我如何控制安全性?
【问题讨论】:
-
PHP 并不知道或关心客户端连接的安全性。在 Nginx 上
$_SERVER['HTTPS']甚至都不准确。如果要强制使用 HTTPS,则使用.htaccess或 Nginx 配置将301从 HTTP 重定向到 HTTPS。 -
我想我现在明白了。所以我可以在 IIS 上启用以强制他们使用 SSL。
-
没错,HTTPS 应该由 HTTP 服务器处理,在这种情况下 PHP 应该只负责验证用户凭据和提供内容。顺便说一句,我想我对你正在使用 IIS 的事实感到非常震惊,抱歉,哈哈
标签: php html iis certificate ssl-certificate