bounty还有3天到期。回答此问题可获得+50声望奖励。Ravi正在寻找一个答案从一个有信誉的来源。
我在我的xyz.js文件中有下面的代码。
init : function() {
if (!this.iframe) {
this.iframe = document.createElement("iframe");
this.iframe.src = "javascript:false;";
document.body.appendChild(this.iframe);
我已经更新了代码从不安全内联到nonce在上面的代码我调用 document.body.appendChild(this.iframe);
并低于误差
1683098036010:402拒绝运行JavaScript URL,因为它违反了以下内容安全策略指令:“script-src 'self' 'nonce-EDNnf03nceIOfn39fn3e9h3sdfa' 'unsafe-eval'".启用内联执行需要“unsafe-inline”关键字、散列('sha 256-...')或nonce('nonce-...')。请注意,哈希不适用于事件处理程序,样式属性和JavaScript:导航,除非存在“unsafe-hashes”关键字
我已经尝试添加nonce如下,但它不工作
this.iframe.nonce = "EDNnf03nceIOfn39fn3e9h3sdfa";
this.iframe.script='nonce="EDNnf03nceIOfn39fn3e9h3sdfa"';
this.iframe.script.nonce="EDNnf03nceIOfn39fn3e9h3sdfa";
this.iframe.setAttribute('nonce', "EDNnf03nceIOfn39fn3e9h3sdfa");
在代码中,我设置了this.iframe.src =“javascript:false;”;这不应该抛出该错误。
有人能提供这方面的最新情况吗
2条答案
按热度按时间dm7nw8vv1#
对于
nonce
属性,您应该在script标签上设置它,而不是在iframe上设置它。然后将script标记附加到iframe的内容文档的主体。elcex8rz2#
问题在
this.iframe.src = "javascript:false;";
中。我已将这一行更新为this.iframe.src = "about:blank;";
更多信息请参考iframe without an src attribute