我已经使用了eval,但是通过应用CSP来禁止它。但我在找一个替代方案。
我找到了jQuery.globaleval()
函数。
jQuery.readyException = function( error ) {
window.setTimeout( function() {
throw error;
});
};
投掷:
未捕获的EVALERROR:拒绝将字符串计算为JavaScript,因为“unsafe-eval”不是以下内容安全策略指令中允许的脚本源:“script-src”self“”unsafe-inline“http://localhost:6060/wtlority/http://localhost:6060/application/scripts
那么,是否可以使用全局评估作为评估的替代方案,也应该被CSP(Content Security Policy)所接受。
jQuery.globaleval()
的行为与使用普通JavaScripteval()
不同,因为它是在全局上下文中执行的。例如:
function test() {
jQuery.globalEval( "var newVar = true;" );
}
test();
名为newvar
的变量在global的范围内。可以通过应用程序的脚本访问它。
通过将unsafe-eval设置为允许的源,您可以在CSP中使用eval()
而不使用jQuery.globaleval()
。
类似于这样:
<meta http-equiv="Content-Security-Policy" content="script-src 'unsafe-eval'">
如果不想使用eval,那么可以使用new Function()
。根据最佳实践,您应该避免eval()
和new Function()
内容安全策略 CSP(Content Security Policy)即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而降低客户端遭受 XSS 攻击风险。 默认配置下,CSP 甚至不允许执行内联代码 (<script> 块内容,内
CSP(内容安全策略) CSP(Content Security Policy) 即内容安全策略,主要目标是减少、并有效报告 XSS 攻击,其实质就是让开发者定制一份白名单,告诉浏览器允许加载、执行的外部资源。即使攻击者能够发现可从中注入脚本的漏洞,由于脚本不在白名单之列,浏览器也不会执行该脚本,从而达到了降低客户端遭受 XSS 攻击风险和影响的目的。 默认配置下,CSP 甚至不允许执行内联代码
在我的页面上,我给出了层次结构: 内部框架带有给定的标题 看起来一切都是正确的,但我在chrome中遇到了这样的错误(ff中也有错误): 拒绝展示https://app.domain.training/path'在帧中,因为祖先违反以下内容安全策略指令:“帧祖先app.domain.training proxy.domain.training domain.training*.domain.tra
当我将图像上传到我的web应用程序中时,它显示以下错误 拒绝加载图像'
所以我一直在尝试使用一个谷歌可编程搜索引擎脚本,但我在元标记方面遇到了问题。我在my中包含的meta标记如下所示: 但是,我仍然收到一个错误,告诉我它拒绝加载脚本,因为它违反了“内容安全策略指令:“script src'self'” 我想知道它是否从其他地方继承了一些设置,因为它不接受我正在设置的新脚本src,但是如果我将其设置为“无”,它会接受新脚本src。 顺便说一下,我对html非常陌生,所
问题内容: 我在开发人员控制台中收到很多错误: 拒绝评估字符串 拒绝执行内联脚本,因为它违反了以下内容安全策略指令 拒绝加载脚本 拒绝加载样式表 这是怎么回事?内容安全策略如何工作?如何使用HTTP标头? 具体来说,如何… …允许多个来源? …使用不同的指令? …使用多个指令? …处理端口? …处理不同的协议? …允许的协议? …使用内联样式,脚本和标签以及? …允许吗? 最后: 到底是什么意思?