0

我使用 Angular 2.1.2,我想使用 sanitize 方法来防止 XSS/CSRF 攻击。

我实现了: this.sanitizer.sanitize(SecurityContext.HTML, this.content)

html文件有html、style、javascript。所以这个方法将解开样式和javascript。

但我只想打开 javascript 并跳过 html 和样式。所以,我有任何解决方案来解决这个问题。

卫生前的 HTML

<html>
  <head><style>h2 {color: #FFFF7C}</style>
    <script>alert("hi")</script>
    </head>
  <body>
    <h2>HTML Content</h2>
  </body>
</html>

消毒后的结果:

//HTML content: "&#10; h2 {color: #FFFF7C}&#10; alert(&#34;hi&#34;)&#10; &#10; &#10; <h2>HTML Content</h2>&#10; &#10;"

//HTML content view:
h2 {color: #FFFF7C} alert("hi")
HTML Content

结果预期:

alert("hi")
HTML Content //I expect this line will be applied the color: #FFFF7C
4

0 回答 0