André Laugks: GPC-Arrays auf SQL-Injection etc. prüfen

Beitrag lesen

Hallo!

Das Escapen aller Zeichen dann, wenn sie gebraucht werden mag zwar teilweise resourcensparender sein, hat aber auch seine Nachteile und ist ein ziemlicher Aufwand, der die Lesbarkeit des PHP-Codes meiner Meinung nach doch sehr beeinträchtigt (auch, wenn es nur ein Funktionsaufruf ist).

Sicherheit ist immer lässtig und zeitaufwendig! Zeichenketten zu escapen zieht nicht das System runter. Das ist eine banale Stringfunktion.

Von php-faq.de kenne ich (unter anderem) die Artikel:

Was sagen die Artikel alle aus? Die Welt ist schlecht! Vertrauen ist gut, Kontrolle ist besser!

Dich kann ruhig ein User Deine Scripte mit GPC-Daten befeuern! Bevor Du aber Daten aus GPC verwendest, musst Du sie prüfen, ob die Daten Deinen Mindestanforderungen gerecht werden.

Wenn Du eine ID erwartest, prüfe ob es sich um eine Ganzzahl handelt. Und wenn die ID größer 1000 seien musst, dann fragst Du auch noch ab, ob die ID größer 1000 ist. Wenn das nicht so ist, zeigst Du eine Fehlermeldung an oder lässt es ins Leere laufen.

Wenn Du ein String erwartest, dann escapst Du den String, bevor Du das SQL-Statement zusammen baust. Und wenn bestimmte Zeichen nicht vorkommen dürfen, überprüfst Du das!

Eigentlich ganz einfach!

André Laugks

--
Die Frau geht, die Hilti bleibt!