Frage zu PHP und SQL-Injection

Es gibt 2 Funktionen die zu beachten sind.

Die eine ist mysql_real_escape_string(), die andere filter_input() die ganue dazu da ist um zu prüfen ob der Wert von Get auch dem entspricht was man erwartet.
 
PHP:
id = ereg_replace("[^0-9]", "", $_GET['id'])

Zum einen ist diese Funktion seit PHP 5.3 deprecated (sollte nicht mehr verwendet werden), zum anderen erinnert mich das an das berühmte Kannonen-auf-Spatzen schießen ;)

Nimm lieber filter_input() her.
Weitere Infos zu den Filterfunktionen von php: http://www.w3schools.com/php/php_ref_filter.asp

Um zu deiner Frage zurückzukommen:
Alle Daten, die in irgend einer Weise von einem Benutzer oder einem anderen System verändert werden könnten, müssen validiert und gefiltert werden. Auch wenn du in einem Script eine Weiterleitung machst (z.B.: header("Location: seite2.php?var=val")) dann musst du die Variable überprüfen.

Gruß
BK
 
Zuletzt bearbeitet:
Zurück