Nachdem mein Browsergame Yumee letzte Woche wahrscheinlich Opfer einer SQL-Injection geworden ist (fragt mich nicht wie das ging), habe ich kurzer Hand entschieden, die Library PHP IDS einzusetzen.
Kurz zu Einleitung: IDS kommen ursprünglich aus der Netzwerktechnik und überwachen dort Netzwerke auf mögliche Angriffe. Und genau das tut auch die PHP IDS. Wir lassen alle eingehenden Variablen (GET, POST und COOKIE), bevor die Anwendungen damit arbeitet, einmal überprüfen. Wenn die IDS nicht anschlägt, geht der Aufruf durch, ansonsten beenden wir Anwendung einfach.
PHP IDS hat neben seiner Hauptfunktion allerdings noch weitere Features. So lässt sich beispielsweise der HTML Pruifier anbinden, der eingehende Strings nach bösen HTML-Code durchsucht (z.B. <script> oder onclick). Außerdem gibt es verschiedene Logging-Möglichkeiten + automatische E-Mail-Benachrichtigung.
Einziger Nachteil: Es geht ein wenig Performance verloren, wobei das kaum zu merken ist.