hi,
Ich nutze Prepared Statements derzeit wegen der erhofften Sicherheit.
Sie bringen dir vielleicht ein winziges Plus an Sicherheit wegen der Unmöglichkeit, durch Unachtsamkeit das Escaping zu vergessen. Ansonsten ist vom Standpunkt der Sicherheit ein Prepared Statement vollkommen identisch zu einem zusammengebauten, escapeten Query.
Ich habe gelesen, dass Prepared Statements auch schneller bearbeitet werden, dass ist auch einer der gründe ; oder ist das auch eher zu vernachlässigen?
Hier hast du eine "nette" Bad-Word-Liste. Dumm nur, dass du auf vermutlich genauso wirksame Bestandteile wie "SCRIPT" oder "INCLUDE" in Upper Case nicht reagierst.
Gibt es bei Regex einen Trick, das Case-Sensitive zu machen?
Insgesamt scheint mir, dass du hier ein Konstrukt zusammengebastelt hast, dass du selbst nicht mit einem Satz erklären kannst,
Doch ; erst wird der Server['Request'] auf unerwünschte Zeichen durchsucht und eine Maximale länge festgelegt, in meinem Fall 90 Zeichen, wenn alles Ok ist ist die resultierende Variable der Wert, der durch das SELECT gejagt wird.
Die weitere Verarbeitung im Script passiert dann Intern, also keine Usereingaben oder sonstiges.
Mir persönlich wäre jedenfalls nicht wohl bei der Überlegung, was man eventuell auf deiner Site so anstellen könnte. Das zu beurteilen ist aber nicht möglich, da der restliche Code fehlt.
Wenn du lust und Zeit hast, kannst du ja mal durchschauen, ich habe es aufs wesentliche gekürzt.
http://dj-tut.de/z_test/mySite.php
Meine Faustregel ist da immer: Bevor ich irgendwas selbst parse, verlasse ich mich lieber auf die vorgefertigten Funktionen der benutzten Programmiersprache, die mir die benötigten Daten u.U. mundgerecht servieren.
Ich ging davon aus, dass Prepared Statements die benötigte Sicherheit garantieren, welche vorgefertigten Funktionen gibt es denn noch für MySQL?
holla holla