javascript / beginner
Snippet
Maskieren von unzuverlässigem Benutzertext zur Verhinderung von Cross-Site-Scripting
Das unmaskierte Einfügen von Benutzer-Zeichenketten setzt Webanwendungen Cross-Site-Scripting-Angriffen (XSS) aus. Standardmäßig behandelt die String-Interpolation in Svelte Eingaben als reinen Text und maskiert gefährliche HTML-Zeichen, wodurch bösartiger Code neutralisiert und die clientseitige Sicherheit gewahrt wird.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
<script>// String containing potentially malicious markuplet userProvidedComment = '<img src=x onerror="alert(1)"> Great post!';</script><!-- Safe: Standard interpolation escapes HTML automatically --><div class="comment-safe"><p>Safe comment: {userProvidedComment}</p></div><!-- Insecure alternative: Never render untrusted strings with {@html} --><!-- {@html userProvidedComment} -->
svelte
Erklärung
1
let userProvidedComment = '<img src=x onerror="alert(1)"> Great post!';
Definiert eine Zeichenkette, die potenziell bösartigen HTML-Code eines Benutzers simuliert.
2
<p>Safe comment: {userProvidedComment}</p>
Rendert den Text sicher, indem Sonderzeichen wie spitze Klammern maskiert werden.
3
<!-- {@html userProvidedComment} -->
Zeigt auf, dass Direktiven für rohes HTML niemals mit unbereinigtem Benutzerinhalt verwendet werden dürfen.