0

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

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

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

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

4

1 回答 1

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>
于 2012-10-31T23:51:27.167 回答