【问题标题】:How to check if website is secure using PHP如何使用 PHP 检查网站是否安全
【发布时间】: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


【解决方案1】:

如果您通过https 访问网页,浏览器会将您的请求编码为SSL。 如果您通过http 访问网页,则不会对其进行编码。 证书只是向用户证明编码是安全的。变量 $_SERVER['HTTPS'] 只是表示用户是通过 https 还是 http 访问页面。

【讨论】:

  • 小幅调整,证书在那里证明所连接的服务器就是他们所说的。
  • 所以我不能用php 识别如果用SSL 编码然后ok 否则被拒绝?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-12
  • 1970-01-01
  • 2014-08-27
  • 2015-05-26
  • 1970-01-01
相关资源
最近更新 更多