如何在codeigniter上实现SSL时摆脱控制台错误

时间:2016-10-29 16:17:12

标签: php codeigniter ssl https

我最近使用一种方法在我的基于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.

这是什么意思?我该如何删除它?

1 个答案:

答案 0 :(得分:3)

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

您需要检查所有HTML并确保您使用的每个地点http://(在images / css / javascript中)都更改为https://,但这是不是< / strong>您可以自动执行的操作,因为并非所有网站都可以使用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