hi,
was ich machen muss, um SQL-Injection sowie Angriffe auf das PHP-Script per GPC-Daten zu verhindern?
Um SQL-Injection zu verhindern, behandelst du jedes Datum, welches du in eine Query einbaust.
Und PHP ist über diese Datenquellen nur dann "angreifbar", wenn register_globals=on ist _und_ unsaubere Programmierung hinzukommt - also Variablen vor ihrer ersten Verwendung nicht sauber initialisiert werden.
Reicht da eine Schleife, die am Anfang des Scripts alle GPC-Daten nach " und ' durchsucht und gegenenfalls eine Fehlermeldung ausgibt und das Script abbricht
Da du in deinem Posting die beiden Zeichen " und ' verwendet hast, wäre wenn hier ein von dir geschriebenes Script laufen würde, dir das Posten dieser Frage also gar nicht möglich gewesen, sondern das Script wäre abgebrochen worden ...?
Nein, das kannst du nicht ernst meinen.
Das Escapen aller Zeichen dann, wenn sie gebraucht werden
... ist das einzig sinnvolle.
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).
Kann ich nicht finden.
Daten zu maskieren oder in sonsteiner Weise zu behandeln, wenn dies gar nicht erforderlich ist, ist jedenfalls Unfug.
<blockquote cite="Cheatah">
Das gilt übrigens _immer_, wenn Du eine Information in einen bestimmten Kontext bringst. Sie muss(!) immer(!) kontextspezifisch kodiert werden.
</blockquote>
Von php-faq.de kenne ich (unter anderem) die Artikel:
http://php-faq.de/q/q-sql-injection.html
http://php-faq.de/q/q-sicherheit-parameter.html
http://php-faq.de/q/q-security-variablen.html
Damit hast du ja schon mal ein paar gute Quellen an der Hand, die dir erklären, was du zu tun hast.
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }