【问题标题】:How to get rid of console error when implementing SSL on codeigniter在codeigniter上实现SSL时如何摆脱控制台错误
【发布时间】:2017-03-12 07:00:03
【问题描述】:

我最近使用了一种方法在我的基于 codeigniter 的 Web 应用程序上强制使用 SSL。我完全按照这里所说的做了http://tutsnare.com/redirect-to-ssl-in-codeigniter/ 它完成了这项工作。所有页面都以带有锁定标志的 HTTPS 加载。但是在控制台上我收到了这个错误

Mixed Content: The page at 'https://dev26.calvarycch.org/applications/index/children' was loaded over HTTPS, but requested an insecure script 'http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js'. This request has been blocked; the content must be served over HTTPS.

这是什么意思?以及如何删除它?

【问题讨论】:

  • 只使用没有方案但以双斜杠开头的链接,如//ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js,你会没事的。

标签: php codeigniter ssl https


【解决方案1】:

在使用 SSL 运行网站时,必须在 SSL 协议后提供所有内容。这意味着所有图像/css/javascript/fonts/svg(我希望我没有忘记任何其他外部可选内容)也必须与https://(而不是http://)一起使用。

您需要检查所有 HTML 并确保您使用的每个位置 http://(在 images/css/javascript 中)都更改为 https://,但这是不是的东西您可以自动完成,因为并非所有网站都使用 SSL。您需要在更改之前检查它。

在您的具体示例中,google 的 CDN 可以在 HTTP 和 HTTPS 中提供相同的文件,因此您可以更改:

<script src="http://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

<script src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>

注意开头的httpS

【讨论】:

  • 这些行怎么样? &lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt; &lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt; 我也必须将它们更改为https 吗?
  • @RabinLama,不 - 这些你别管了 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-08
相关资源
最近更新 更多