Hahne Geschrieben 14. Mai 2008 Geschrieben 14. Mai 2008 Hallo! Ich befasse mich gerade ein wenig mit der Sicherheit von PHP und will eine Eingabe von einem Formular wieder ausgeben über ein Echo. Jeder weiss ja aber, dass es sone Sachen wie Cross Site Scripting gibt. Dieses möchte ich jetzt natürlich erfolgreich verhindern. Hab's auch schon gemacht... Das Formular: <form action="" method="POST"> <input name="Text" type="text"> <br> <input type="submit" value="Absenden"> </form> PHP Ausgabe: <?php if(isset($_POST['Text'])){ $ausgabe = variablecheck($_POST['Text']); echo "Hallo " . $ausgabe . "! Wie geht es dir?"; } ?> Funktion variablecheck: <?php function variablecheck($text) { $text = htmlentities($text); return $text; } ?> Jetzt frage ich mich nur ob diese Art der Absicherung schon reicht oder muss ich noch mehr absichern um Cross Site ... und andere schädlichen Eingaben zu verhindern? Gruß Hahne Zitieren
geloescht_JesterDay Geschrieben 14. Mai 2008 Geschrieben 14. Mai 2008 Jetzt frage ich mich nur ob diese Art der Absicherung schon reicht oder muss ich noch mehr absichern um Cross Site ... und andere schädlichen Eingaben zu verhindern? Es kommt immer darauf an, was du mit den Eingaben machst. Für eine reine Ausgabe auf der HTML Seite ist diese Methode geeignet, da damit kein fremder Code (z.B. Javascript) eingeschleust werden kann. Allerdings musst du immer beachten was du damit machst. Für Passwörter ist das u.U. nicht unbedingt geeignet Generell sind aber alle Daten die von außen kommen böse. Es bezieht sich also nicht nur auf Formularwerte. Auch Parameter der URL z.B. können vergiftet worden sein und sollten nicht einfach ungeprüft von dir verwendet werden. Zu XSS findest du hier noch was (auch weiterführende Links): Cross-Site Scripting â€â€œ Wikipedia Zitieren
flashpixx Geschrieben 14. Mai 2008 Geschrieben 14. Mai 2008 siehe auch noch: PHP: strip_tags - Manual Phil Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.