繁体   English   中英

Angular - 如何防止来自事件的 RxJs 中的 XSS 攻击?

[英]Angular - how to prevent XSS attacks in RxJs fromEvent?

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

代码示例:

<input #myInput />

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

对于您的问题,使用fromEvent您会得到与反应形式的valueChanges相同的 output ,就安全措施而言,它几乎相同。

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

对比

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

Angular 将清理 output 如果您在视图中将它们包装在表达式花括号中

{{ .. }} 

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

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

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

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

以及这个https://angular.io/guide/security

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM