我正在使用最新的 chrome 测试版(声称支持 CSP),并且我有一个网页,用户可以在其中输入评论,然后评论被存储到数据库中,然后被检索并显示在同一个网页上。
用户可以输入 Javascript 作为注释(带有 script 标签),当从 DB 检索到它时,它会被执行(比如警报)。CSP 表示不会允许这样的事情。
我应该怎么做才能让谷歌浏览器测试版的这个功能(禁用不安全的javascripts执行)工作。
目前,如果我输入 javascript 注释,它会按预期执行。
我正在使用最新的 chrome 测试版(声称支持 CSP),并且我有一个网页,用户可以在其中输入评论,然后评论被存储到数据库中,然后被检索并显示在同一个网页上。
用户可以输入 Javascript 作为注释(带有 script 标签),当从 DB 检索到它时,它会被执行(比如警报)。CSP 表示不会允许这样的事情。
我应该怎么做才能让谷歌浏览器测试版的这个功能(禁用不安全的javascripts执行)工作。
目前,如果我输入 javascript 注释,它会按预期执行。
为了缓解一大类潜在的跨站点脚本问题,Chrome 的扩展系统已纳入内容安全策略 (CSP) 的一般概念。这引入了一些相当严格的策略,默认情况下将使扩展更加安全,并为您提供创建和执行规则的能力,这些规则管理可以由您的 扩展和应用程序加载和执行的内容类型。
强调添加的扩展,因为它可以回答您的问题 - 它仅适用于扩展,不适用于常规网页。有许多网页都有接受 Javascript 回发的正当理由。
简单的解决方案
使用 chrome dev 版本 28。默认情况下禁用内联 Javascript
转到 chrome://flags/ 更改这些标志