javascript / beginner
Snippet
Maskieren von Sonderzeichen in Rohdaten zur Sicherheit in Vue
Cross-Site Scripting (XSS) entsteht, wenn bösartiger Code in eine Webanwendung eingeschleust wird. Das Umwandeln von Sonderzeichen in sichere HTML-Entities stellt sicher, dass Benutzereingaben als reiner Text und nicht als ausführbares Markup interpretiert werden.
snippet.js
javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { ref } from 'vue';export default {setup() {const safeMessage = ref('');function sanitizeText(untrustedString) {const map = { '&': '&', '<': '<', '>': '>', '"': '"', "'": ''' };return untrustedString.replace(/[&<>"']/g, char => map[char]);}function handleUserInput(input) {safeMessage.value = sanitizeText(input);}return { safeMessage, handleUserInput };}};
vue
Erklärung
1
const map = { '&': '&', '<': '<', ... };
Erstellt ein Dictionary, das potenziell gefährliche HTML-Zeichen auf sichere Entity-Äquivalente abbildet.
2
return untrustedString.replace(/[&<>"']/g, char => map[char]);
Ersetzt alle passenden Sonderzeichen im gesamten String durch die sicheren Entities.