【问题标题】:cookies causing "unsecure content" warnings on google chrome?导致谷歌浏览器上的“不安全内容”警告的cookies?
【发布时间】:2011-09-22 11:04:03
【问题描述】:

如果我访问我网站上的主页(使用代码点火器),我的主页使用的是 http, 代码点火器设置一个包含所有会话信息的 cookie。

如果我然后单击使用 https 的登录,我会收到不安全的内容警告,我唯一能想到的就是 cookie,因为如果我重新启动浏览器然后直接转到https://mysite.com/login,那么我就没有不安全内容警告。

我该如何解决这个问题(注意主页不能是 https)。

【问题讨论】:

  • 你有一个有效的 https 吗?你买了吗?或者您只是将 https 添加到您的域名?点击导航栏中的https,您将获得更多信息

标签: php codeigniter cookies https protocols


【解决方案1】:

此错误来自通过 http 向应为 https 的页面提供的内容。例如,<img><link><script>

Codeigniter 的问题在于,您很可能使用 base_url()site_url() 获取嵌入内容的完整绝对 URL,可能使用 http。

您可以执行以下操作:

  1. 使用相对 URL,即<img src="/path/to/images.jpg">

  2. 不要指定协议。示例://example.com/path/to/image.jpg 更多关于此技术的信息:http://paulirish.com/2010/the-protocol-relative-url/

  3. 在您需要使用 https 的控制器的 __construct() 中(或在需要它的方法中),加载一个不同的配置文件,重新定义您的基本 url 以使用 https。请注意,在加载此配置文件之前,任何使用基本 url 进行 html 输出的脚本/库都为时已晚。

如果您在 IE 中加载页面,您应该会收到一条非常烦人的错误消息,其中会列出所有不安全交付的内容,以帮助您进行故障排除(其他浏览器也应该具有此功能,但在 IE 中)尤其突出)。

编辑:看到您的注释,即通过 http 请求的页面上没有任何内容,只有 https,以及关于不存在 cookie 时会发生什么的注释。我的错误,我刚醒来 - 我应该更彻底地阅读这个问题:p

【讨论】:

    【解决方案2】:

    您正在安全 (https) 登录页面上加载不安全的内容(通常是图像/iframe)。

    这意味着您正在引用指向不安全页面的链接(不是 https)。这将导致错误,并提示用户是否加载此类内容。这是指向外部内容的链接的问题,而不是您的 cookie。

    编辑:要(暂时)解决问题,找到任何指向外部内容的链接/引用并暂时禁用它,然后访问您的页面,提示/错误应该会消失。

    要解决此问题,您必须下载内容或使用您网站上的文件来安全地下载内容以供该页面使用。

    【讨论】:

    • 通过http请求的页面上没有任何内容,只有https,
    猜你喜欢
    • 2018-07-14
    • 2013-07-11
    • 2021-12-17
    • 1970-01-01
    • 1970-01-01
    • 2020-09-14
    • 2021-11-19
    • 2012-08-22
    • 1970-01-01
    相关资源
    最近更新 更多