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

时间:2019-10-28 15:04:37

标签: javascript angular security rxjs xss

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

代码示例:

<input #myInput />

fromEvent(this.muInput.nativeElement, 'input').pipe(
  tap(inputEvent => this.saveToDatabase(inputEvent.data)
)

1 个答案:

答案 0 :(得分:1)

对于您的问题,使用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来处理更改,因为在大多数情况下,如果某个元素被*ngIf从DOM中删除,则在大多数情况下您只绑定一次到某个元素(应该在ngOnInit中)。除非您有处理重新绑定的代码,否则该标签将消失。

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

还有这个 https://angular.io/guide/security