CSP 2.0(不安全内联)和Angular

时间:2015-09-29 05:55:23

标签: angularjs content-security-policy

如果我在我的角度应用程序上实现CSP 2.0,并且禁止来自script-src的不安全内联,那么ng-click和其他角度事件是否有效?我想CSP会阻止所有这些。

1 个答案:

答案 0 :(得分:2)

AngularJS和Content-Security-Policy在ngCsp指令下有详细记录。以下是unsafe规则对Angular的影响:

  
      
  • unsafe-eval:此规则禁止应用使用evalFunction(string)生成的函数(以及其他内容)。 Angular利用了这一点   在$ parse服务中提供30%的速度提升   评估Angular表达式。

  •   
  • unsafe-inline:此规则禁止应用将自定义样式注入文档。 Angular利用它来包含一些CSS   规则(例如ngCloakngHide)。使这些指令工作时   CSP规则阻止内联样式,您必须链接到   在您的HTML中手动angular-csp.css

  •   

具体而言ngClick使用AngularJS表达式......

<ANY
  ng-click="expression">
...
</ANY>

...而AngularJS expression不需要eval。

  

Angular不使用JavaScript的eval()来计算表达式。   相反,Angular的$parse服务处理这些表达式。