Angular - 如何防止RxJs fromEvent中的XSS攻击?
Angular - how to prevent XSS attacks in RxJs fromEvent?
我经常使用 RxJS 的 fromEvent
方法。老实说,我期待 Angular 有什么神奇之处,但显然没有。使用 fromEvent
时如何防止 XSS 攻击?
代码示例:
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').pipe(
tap(inputEvent => this.saveToDatabase(inputEvent.data)
)
对于你的问题,使用 fromEvent
你会得到与反应形式的 valueChanges
相同的输出,就安全措施而言,它几乎相同。
<input formcontrol="myInput"/>
myInput.valueChanges.subscribe(console.log)
对比
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').subscribe(console.log)
Angular 如果您将它们包装在视图中的表达式花括号中,Angular 将清理输出
{{ .. }}
但它不会清理表单输入,因此这仍然是一个有效的表单输入并且清理仍然需要在服务器端进行。
<script>alert('kdfkf')</script>
我不建议使用 fromEvent
来处理更改,因为在大多数情况下你只绑定一次到某个元素(假设在 ngOnInit 中),如果该元素被 *ngIf
,除非您有处理重新绑定的代码,否则您的事件已消失。
这个答案可能也有帮助
Need to insert Script tag in angular 2
我经常使用 RxJS 的 fromEvent
方法。老实说,我期待 Angular 有什么神奇之处,但显然没有。使用 fromEvent
时如何防止 XSS 攻击?
代码示例:
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').pipe(
tap(inputEvent => this.saveToDatabase(inputEvent.data)
)
对于你的问题,使用 fromEvent
你会得到与反应形式的 valueChanges
相同的输出,就安全措施而言,它几乎相同。
<input formcontrol="myInput"/>
myInput.valueChanges.subscribe(console.log)
对比
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').subscribe(console.log)
Angular 如果您将它们包装在视图中的表达式花括号中,Angular 将清理输出
{{ .. }}
但它不会清理表单输入,因此这仍然是一个有效的表单输入并且清理仍然需要在服务器端进行。
<script>alert('kdfkf')</script>
我不建议使用 fromEvent
来处理更改,因为在大多数情况下你只绑定一次到某个元素(假设在 ngOnInit 中),如果该元素被 *ngIf
,除非您有处理重新绑定的代码,否则您的事件已消失。
这个答案可能也有帮助 Need to insert Script tag in angular 2