谷歌图表不安全的eval
Google Charts unsafe-eval
出于安全目的,我已经从CSP头中删除了script-src: 'unsafe-eval'
。我注意到这已经打破了谷歌排行榜。图表现在无法呈现,并显示错误:
Invalid JSON string: {}
有什么想法吗?或者谷歌只是搞砸了,允许在他们的库中使用不安全的eval ?我对他们的地图也有同样的问题,不得不使用不同的库。
Google Visualization确实在内部使用eval()
当前Google可视化API正在使用:
1. eval on corechart.I.js(3次)
2. 调用jsapi
摘自这里,一个关于GV和Chrome应用程序清单v2兼容性的错误报告,大约1个月前。Google Visualization本身不符合Manifest V2:
的规则。是你的代码或库使用eval(), new Function(), innerHTML,setTimeout(),或者以其他方式传递JS代码字符串动态评估?
- 使用JSON.parse()如果你解析JSON代码到一个对象。
使用一个csp友好的库,比如AngularJS。- 在清单中创建一个沙箱条目,并在沙箱中运行受影响的代码,使用postMessage()与沙箱通信页面。
所以谷歌自己很清楚这个问题。
我的印象是GV内部使用eval(jsonString)
而不是JSON.parse()
由于浏览器兼容性。JSON.parse()
在IE8之前不可用,之前的FF 3.1等等(见兼容性列表),这就是为什么当你阻止eval()
时你会得到无效的JSON错误。
由于这也影响了GV如何遵守Manifest规则,我想这个问题很快就会消失。
相关文章:
- ES6 模板文字是否比 eval 更安全
- CORS保持在SecurityError上:操作不安全
- createObjectURL blob url在Firefox中不安全
- 当eval只执行服务器端数据时,在javascript中使用eval是否安全
- 地理定位API从Chrome 50中的不安全来源中删除
- 为什么流星会被认为是不安全的
- SecurityError:操作在canvas.toDataURL中不安全
- Mootools:拒绝设置不安全的标头“;连接”;
- Chrome for bookmarlet 中的“不安全内容”
- 为什么内联 JS 块不安全
- 使用 Div 标签的 location.href 属性时,Eval 不起作用
- jQuery:Javascript抛出错误“;操作不安全”;设置值时
- AngularJS-ngBindHtml和'不安全'html
- HTML5历史API-操作不安全
- 刚将我的网站移到ssl,但我有不安全的内容
- 角度相加“;“不安全”;在尝试下载文件时将其转换为url
- Chrome扩展:不安全的JavaScript尝试访问具有URL的框架域、协议和端口必须匹配
- Safari 7,Mac OS X:确定Java是否处于'不安全'模式
- Chrome扩展'拒绝评估字符串作为JavaScript,因为'不安全的eval'
- 谷歌图表不安全的eval