我经常用fromEvent
来自 RxJS 的方法。老实说,我期待 Angular 带来一些魔力,但显然没有。使用 fromEvent
时如何防止 XSS 攻击?
代码示例:
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').pipe(
tap(inputEvent => this.saveToDatabase(inputEvent.data)
)
最佳答案
对于您的问题,请使用 fromEvent
你得到与 valueChanges
相同的输出在 react 形式中,就安全措施而言,它几乎是相同的。
<input formcontrol="myInput"/>
myInput.valueChanges.subscribe(console.log)
对比
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').subscribe(console.log)
如果您将它们包装在 View 中的表达式花括号中,Angular 将清理输出
{{ .. }}
但它不会清理表单输入,所以这仍然是一个有效的表单输入,并且仍然需要在服务器端进行清理。
<script>alert('kdfkf')</script>
我不建议使用
fromEvent
要处理更改,因为在大多数情况下,您只绑定(bind)一次到某个元素(假设在 ngOnInit 中),如果该元素已通过 *ngIf
从 DOM 中删除,除非您有处理重新绑定(bind)的代码,否则您的事件将消失。这个答案也可能有帮助
Need to insert Script tag in angular 2
还有这个
https://angular.io/guide/security
关于javascript - Angular - 如何防止 RxJs fromEvent 中的 XSS 攻击?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58593382/