javascript / intermediate
Snippet
Bereinigen potenziell schädlicher Benutzereingaben über die SecurityContext-Evaluierung
Angular stuft alle nicht vertrauenswürdigen Werte standardmäßig als gefährlich ein. Die Verwendung von DomSanitizer.sanitize zusammen mit einem spezifischen SecurityContext ermöglicht es Entwicklern, bösartige HTML-Strings programmgesteuert zu bereinigen und Skript-Tags sowie unsichere Attribute vor der Verarbeitung zu entfernen.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
import { Injectable, SecurityContext } from '@angular/core';import { DomSanitizer } from '@angular/platform-browser';@Injectable({ providedIn: 'root' })export class HtmlSanitizerService {constructor(private sanitizer: DomSanitizer) {}cleanHtml(rawContent: string): string {const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, rawContent);return sanitized ?? '';}}
angular
Erklärung
1
constructor(private sanitizer: DomSanitizer) {}
Injiziert den integrierten DomSanitizer-Service von Angular zur kontextbezogenen Sicherheitsanalyse.
2
cleanHtml(rawContent: string): string {
Deklariert eine Hilfsmethode, die einen nicht vertrauenswürdigen Rohstring entgegennimmt und sicheren Text zurückgibt.
3
const sanitized = this.sanitizer.sanitize(SecurityContext.HTML, rawContent);
Wendet eine HTML-Kontextbereinigung an, um schädliche Tokens und Tags zu entfernen.
4
return sanitized ?? '';
Gibt den bereinigten String oder einen leeren Fallback zurück, falls die Bereinigung den gesamten Inhalt entfernt hat.