0 Tage Serie
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 markup
let 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.