我使用 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: " h2 {color: #FFFF7C} alert("hi") <h2>HTML Content</h2> "
//HTML content view:
h2 {color: #FFFF7C} alert("hi")
HTML Content
结果预期:
alert("hi")
HTML Content //I expect this line will be applied the color: #FFFF7C