Moin!
Und weiter: Gibt es workarounds oder Maßnahmen, um user-inputs entsprechend zu filter, damit sie, falls sie nach Eingabe irgendwo in die Seite geschrieben werden nicht alles kaputt machen wenn ein "</script>" eingegeben wird !?
Das Problem besteht bei der Eingabe hier nicht. Überzeuge Dich:
<html>
<head>
[code lang=javascript] <script type="text/javascript">
function Alarm() {
alert("wont be alerted");
alert(document.getElementById('t1').value);
alert("will be written to document");
}
</script>
</head>
<body>
<form>
<input type="text" id="t1" /><input type="button" onclick="Alarm()" value="Klick!" />
</form>
</body>
</html>[/code]
Verabeitest Du jedoch Daten auf dem Server, dann ist die Verwendung von Funktionen, welche die Ausgabe von tags nachhaltig verhindern nicht nur angezeigt sondern regelrecht Pflicht.
in PHP wäre sowas wie
echo htmlentities($str);
angezeigt. Dann würde aus der Eingabe "</script>" sowas wie "<script>"
Soll die Ausgabe jedoch in einem alert erfolgen, dann gibt es mit entities nicht, Du musst so handeln wie Struppi es beschrieb. Also in PHP etwa:
echo 'alert("' . str_replace('</', '<\/') . '");';
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix