Я часто использую метод fromEvent
из RxJS. Если честно, я ожидал волшебства от Angular, но, видимо, нет. Как я могу предотвратить атаки XSS при использовании fromEvent
?
Пример кода:
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').pipe(
tap(inputEvent => this.saveToDatabase(inputEvent.data)
)
1 ответ
Отвечая на ваш вопрос, используйте fromEvent
, вы получите тот же результат, что и valueChanges
в реактивной форме, с точки зрения меры безопасности, это почти то же самое.
<input formcontrol="myInput"/>
myInput.valueChanges.subscribe(console.log)
Против
<input #myInput />
fromEvent(this.muInput.nativeElement, 'input').subscribe(console.log)
Angular очистит вывод, если вы заключите его в выражения фигурной скобки в своем представлении.
{{ .. }}
Но он не будет дезинфицировать ввод формы, так что это все еще действительный ввод формы, и дезинфекция по-прежнему должна выполняться на стороне сервера.
<script>alert('kdfkf')</script>
Я не рекомендую использовать fromEvent
для обработки изменений, поскольку в большинстве случаев вы привязываетесь только один раз к определенному элементу (предположительно в ngOnInit), если этот элемент удален из DOM с помощью *ngIf
, ваше событие не исчезнет, если у вас есть код для обработки перепривязки.
Этот ответ также может помочь Необходимо вставить тег Script в angular 2
А также это https://angular.io/guide/security
Похожие вопросы
Новые вопросы
javascript
По вопросам программирования на ECMAScript (JavaScript / JS) и его различных диалектах / реализациях (кроме ActionScript). Включите все соответствующие теги в свой вопрос; например, [node.js], [jquery], [json] и т. д.