dedlfix: Mysql: Tage zwischen 2 Datumsangaben auflisten

Beitrag lesen

Tach!

Vor allem hat der kleine A-Bär noch einen großen Bruder, der soeben sein Maul aufreißt, um Dir die Finger abzubeißen: Du verwendest einen per URL-Parameter übergebenen Wert und überträgst ihn ungeprüft und unmaskiert in dein SQL. Wenn Dir jemand den String ; DROP TABLE items -- übergibt, ist deine Datenbank futsch.

Geht nur mit mysqli_multi_query(). Aber andere Arten der SQL-Injection sind auch ohne zweites Statement möglich.

Grundhaltung des UI-Programmierers soll sein: Der User ist dein Feind und will Dich vernichten. Schütze Dich davor. Prüfe jeden Wert auf Plausibilität. Wenn Du Userdaten irgendwohin überträgst, entferne oder maskiere Zeichen, die im Zielkontext Schaden anrichten können. Denn dein User ist dein Feind und wird diesen Schaden verursachen, wo immer Du ihn lässt. PHP bietet dafür eine Menge Mittel an. Und unser Wiki hat dazu auch was.

Zu speziell formuliert. Jegliche Daten und nicht nur Usereingaben müssen korrekt weiterverarbeitet werden. Selbst dann, wenn sie höchst vertrauenswürdig als Literal vorliegen.

dedlfix.