Angular-如何防止RxJs fromEvent中的XSS攻击?

问题描述 投票:1回答:1

我经常使用RxJS的fromEvent方法。老实说,我期待Angular有所帮助,但显然没有。使用fromEvent时如何防止XSS攻击?

代码示例:

<input #myInput />

fromEvent(this.muInput.nativeElement, 'input').pipe(
  tap(inputEvent => this.saveToDatabase(inputEvent.data)
)
javascript angular security rxjs xss
1个回答
0
投票

对于您的问题,使用fromEvent,您以被动形式获得与valueChanges相同的输出,就安全措施而言,它几乎是相同的。

<input formcontrol="myInput"/>
myInput.valueChanges.subscribe(console.log) 

vs

<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').subscribe(console.log)

如果在视图中将它们用表达式大括号括起来,Angular将清除输出

{{ .. }} 

但是它不会清理表单输入,因此这仍然是有效的表单输入,并且仍然需要在服务器端进行清理。

<script>alert('kdfkf')</script>

我不建议使用fromEvent来处理更改,因为在大多数情况下,您仅绑定一次到某个元素(应该在ngOnInit中),如果该元素通过*ngIf从DOM中删除,则除非您有代码来处理重新绑定。

此答案可能也有帮助Need to insert Script tag in angular 2

以及此https://angular.io/guide/security

© www.soinside.com 2019 - 2024. All rights reserved.