@BUG:
- Codeeinrückung
- Verwendung von $GLOBALS
- Verwendung von globalen Variablen allgemein
- die SQL-Injection aus #5
- Trennung von Logik, Darstellung und Datenbank (MVC)
- unnötiges IDS statt Prävention durch ORM oder Parameter
- Verwendung der veralteten MySQL-Funktionen
- addslashes(stripslashes()) ?!
- sowieso ist die angesprochene Zeile komisch!?
- unvollständiger Schutz (es gibt noch andere SQL-Befehle)
- eventuelle Probleme wenn das in einem Forum stünde, in dem einer SQL postet
- die() statt gescheiter Fehlerbehandlung (--> HTTP-Status)
- Verwendung von (hier unnötigen!) Pointern
- strtoupper() statt case-insensitive preg_match
- keine Überprüfung auf möglicherweise aktivierte Magic-Quotes
- sehr ungünstiger Funktionsname anti_inject() (lässt nicht auf Rückgabewert schließen)
- ich glaube nicht, dass count($result) funktioniert (mysql_num_results)
- fehlerhaftes XML ("<?phpxml"?)
Ich finde sicher noch mehr wenn ich will. *g*
Ansonsten ist es am besten auf diese komischen IDS und präventive "Sicherheitssysteme" komplett zu verzichten. Einfach keine direkten
SQL-Codes schreiben, dann kann eine
SQL-Injection auch nicht passieren. Ein guter ORM oder wenigstens parametriesierte
SQL-Queries sind hier vorzuziehen. Das andere Zeug bereitet früher oder später nur Probleme.
@delphinub23: Ich bin mir nicht ganz sicher, was du mit deiner Frage meinst. Schau doch mal in der Hilfe zu
intval().
Liebe Grüße,
Valentin