Hi!
Ich hab vor Jahren eine php/mysql-Anwendung geschrieben. Die soll demnächst wieder aktiviert werden. Da ich damals nicht groß auf Sicherheit geachtet habe, die Anwendung aber relativ groß ist, frage ich mich, wie ich auf möglichst einfache und schnelle Weise Injections ausschließen kann.
Dann hast du vermutlich nicht nur Lücken beim Datenbankhandling sondern generell das Thema kontextgeechte Behandlung nicht beachtet. Auch beim Einfügen in den HTML-Kontext müssen Sonderzeichen beachtet werden. Ebenso sind URLs ein eigener Kontext genauso wie Javascript auch einer ist.
Für Strings, die in MySQL-Statements eingefügt werden sollen, gibt es die Funktion mysql_real_escape_string() oder mysqli_real_escape_string(). Wenn du die Werte damit behandelst, musst du sicherstellen, dass das Feature Magic Quotes ausgeschaltet ist oder seine Auswirkungen rückgängig machen.
Und für HTML ist htmlspecialchars() vorgesehen.
Lo!