0

我的应用程序在浏览器安全方面存在一些问题。

最初,这不是问题,因为我所有的 javacript 代码都运行良好。但是自从我开始使用ckEditor 之后,它就成了一个问题,因为我的 ckEditor 只有在我启用不安全脚本(“加载不安全脚本”)时才能工作。它只发生在Chrome上。

我发现了这个有用的链接内容安全策略,我正在尝试解决它。

但是,我想知道是否有任何方法可以通过 javascript 检测应用程序是否被浏览器阻止。实际上我不是在谈论标签<noscript></noscript>,因为我的应用程序上的其余 javascript 代码仍然可以正常工作。这是关于这个特定 Chrome 的安全性。

当我按照内容安全策略的说明处理此问题时。也许我可以确定 Chrome 是否显示此安全图标并向用户提供一些说明。

是否可以?

安全块

4

2 回答 2

2

我可能会假设您的网站受到 SSL (HTTPS) 的保护,而您正在引用来自域以外的其他来源的脚本,例如 CKEditor 工具。

如果您将 CKEditor 脚本文件下载到您的服务器并将脚本引用更改为您的域地址怎么办?

此外,请看一下这个未解决的问题: CKEditor does not load in Chrome when included in a https site,如果正确理解,这意味着您应该参考 CKEditorHTTPS而不是HTTP在受 SSL 保护的网站上。

于 2013-12-11T12:54:06.260 回答
0

这就是我为解决这个问题所做的工作:

我通过不安全的 http 连接加载了一个脚本,它只是设置了一个全局变量。在 onload 事件中,我检查了变量是否已设置。如果没有,我会显示警告。

通过 HTTP 加载的脚本:

var unsecureContentLoaded = true;

检查内容是否已加载(通过 HTTPS 加载)的示例代码:

$(document).ready(function(){
    if(typeof unsecureContentLoaded === "undefined"){
        alert("unsafe content could not be loaded!");
    }
});
于 2016-01-26T09:10:11.590 回答