我经常使用RxJS中的fromEvent
方法。老实说,我期待Angular有所帮助,但显然没有。使用fromEvent
时如何防止XSS攻击?
代码示例:
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').pipe(
tap(inputEvent => this.saveToDatabase(inputEvent.data)
)
答案 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