【问题标题】:How to maintain an HTTPS connection with PHP Includes如何使用 PHP 维护 HTTPS 连接
【发布时间】:2013-01-31 16:02:00
【问题描述】:

我目前在安全服务器上设置了一个网站。

当我访问我的网站时,浏览器会在页面加载开始时显示 HTTPS 安全连接符号,但是一旦页面完全加载,该符号将被划掉(谷歌浏览器)或消失(safari)。

我了解任何未通过 HTTPS 路径链接到特定页面的文件都将导致该页面不被视为安全。

我已将我的所有 CSS 和 JavaScript 文件设置为通过 https://www.example.com/file 访问,但我知道我的所有 PHP 包含也必须通过 HTTPS 安全路径访问。

当我将 php.ini 文件设置为“allow_url_include = on”时,它仍然不允许我使用 URL 路径包含。我还设置了“allow_url_fopen = on”,但我仍然无法使用https://www.example.com 包含 URL。

有人可以向我解释如何使它工作,以便通过 HTTPS 包含每个 PHP 包含,以便我的所有页面都将在用户的浏览器中显示为 HTTPS? (这是一个电子商务网站,所以这个因素对我的用户来说很重要)。

【问题讨论】:

  • PHP 包含不影响这一点。它们发生在服务器上,因此浏览器甚至不知道它们。浏览器只关心客户端包含(图像、脚本、样式等)是否通过 HTTP 提供。
  • 谢谢。这确实有助于我了解浏览器如何捕获 HTTPS 签名。但是,即使使用所有图像、JS 和 HTML 链接文件 (CSS),我仍然会收到取消的 HTTPS。
  • 我发现一张图片不是通过 HTTPS 插入的。再次感谢您的回答。

标签: php url https include


【解决方案1】:

我已将所有 CSS 和 JavaScript 文件设置为通过 https://www.example.com/file 访问

很好。

您还需要对所有图片以及包含的任何其他资源执行此操作。

但是我知道我的所有 PHP 包含也必须通过 HTTPS 安全路径访问。

一般来说,PHP 包含应该从文件系统中完成,并且根本不访问 HTTP(S)(因为那是低效的)。

浏览器看不到 PHP 做了什么,所以这不是问题的原因。

【讨论】:

  • 我已经完成并设置了所有要通过 HTTPS 访问的图像,但是我仍然遇到问题。现在,我也通过各自的 Javascript 设置包含了 GoDaddy 安全和验证的徽章以及 authorize.net 的徽章。这也可能是问题的原因吗?
  • 感谢您的回答,我能够找到未通过 HTTPS 连接的图像。
猜你喜欢
  • 1970-01-01
  • 2017-01-09
  • 1970-01-01
  • 2023-03-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-13
  • 1970-01-01
相关资源
最近更新 更多