Hey,
Ich habe was von XSS-Attacken gehört und gelesen. Und habe
auch gelesen das htmlspecialchars(); dabei hilft. Die funktion sollte
sonderzeichen ja in htmlcode umwandeln. Jedoch als ich bei einem Test (Formulareingabe wird in db gespeichert und dann aus db ausgelesen)
htmlspecialchars benutzt habe und ich die Einträge dann ausgegeben gelassen habe liefen die javascript-codes (als test) und die Eingabe des js-codes war unverändert.
Das sind meine Variablen welche ich durch htmlspecialchars jagen lass und dann in die db eintragen lass :
$vorname = (string)$_POST['vorname'];
$nachname = (string)$_POST['nachname'];
$alter = (int)$_POST['alter'];
$wohnort = (string)$_POST['wohnort'];
$aktuelles_einsatzgebiet = (string)$_POST['aktuelles_einsatzgebiet'];
$qualifikationen = (string)$_POST['qualifikationen'];
$hobbys = (string)$_POST['hobbys'];
$v_arbeitsplatz = (string)$_POST['v-arbeitsplatz'];
$vorname = htmlspecialchars($vorname);
$nachname = htmlspecialchars($nachname);
$alter = htmlspecialchars($alter);
$wohnort = htmlspecialchars($wohnort);
$aktuelles_einsatzgebiet = htmlspecialchars($aktuelles_einsatzgebiet);
$qualifikationen = htmlspecialchars($qualifikationen);
$hobbys = htmlspecialchars($hobbys);
$v_arbeitsplatz = htmlspecialchars($v_arbeitsplatz);
Alles anzeigen
Nun wenn ich dann die daten ausgeben lasse wird dann der javascript code welcher als test in das input-feld eingetragen wurde, so ausgegeben wie ich diesen reingeschrieben habe und ausgeführt. Aber das darf doch nicht mit htmlspecialchars passieren ? Oder htmlspecialchars hilft einfach nicht dabei..
Wie kann man sich denn dagegen am besten schützen? Mit welchen Funktionen schützt ihr euch gegen XSS-Attacken ?
Gruß,
Stef