0 Tage Serie
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 = { '&': '&amp;', '<': '&lt;', '>': '&gt;', '"': '&quot;', "'": '&#039;' };
return untrustedString.replace(/[&<>"']/g, char => map[char]);
}
function handleUserInput(input) {
safeMessage.value = sanitizeText(input);
}
return { safeMessage, handleUserInput };
}
};
vue
Erklärung
1
const map = { '&': '&amp;', '<': '&lt;', ... };
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.