对于通过Codeigniter网站上的Javascript文件通过http提供的内容的不安全内容警告

时间:2012-10-31 23:30:29

标签: javascript codeigniter ssl https assets

Google Chrome会针对我的部分网页上提供的内容返回不安全的内容警告。内容由Codeigniter中assets / js目录中的Javascript文件调用。 Javascript文件通过引用js_asset_url加载到页脚中,该文件在asset_helper文件中列出。

<script src="<?php echo js_asset_url('script.js'); ?>"></script>

我只在特定控制器上使用SSL,因此资产文件夹内容当前加载不安全,并且由于显示警告而使用户担心。有没有人有Codeigniter的解决方案强制通过SSL加载.js文件等资产?

编辑: 我终于修复了使用外部参考源(希望可以发布链接!) http://www.davidnard.com/2011/04/easy-ssl-redirection-in-codeigniter/ .js文件调用的内容用于控制器中的2个函数。在$ partial数组中设置相关的控制器(参见上面的链接)就可以了。

1 个答案:

答案 0 :(得分:1)

如果我使用绝对URL指向脚本文件,我通常会通过https而不是http来引用它。比如用jQuery,我通过

引用

如果我使用标准HTTP协议,我的浏览器并不关心我是否尝试访问受保护的内容,并且使用HTTPS正确处理它。

要使用您的代码处理此问题,您可以随时进行字符串替换。

例如,在您的情况下,您可以执行以下操作:

<!-- str_replace([needle], [replacement_text], [haystack]); -->
<script src="<?php echo str_replace('http:', 'https:', js_asset_url('script.js')); ?>"></script>