Mailinglisten-Archive |
At 13:49 02.06.2000 +0200, you wrote: >wie kann man denn Input Fields gegen Spassvögel und lichtscheues Gesindel >absichern? > >Ich möchte User-Eingaben die per Input-Field sofort in die DB übernommen >werden vor Übernahme in die DB zuerstmal validieren damit man nicht meine >Tabellen zerbröseln oder sonstwas unschönes tun kann. > >Gibts da irgendwelche bekannten Schwachstellen seitens php/apache die man >eben erstmal abprüfen könnte? Hi, seitens PHP/Apache fallen mir keine ein. Allerdings solltest du die Werte nicht einfach in die DB übernehmen... Bsp. Du hast eine ganz einfache Suche implementiert. Dein PHP-Code sieht so aus: mysql_query(sprintf('SELECT * FROM artikel WHERE name = "%s"', $name)); Wenn du hier nicht aufpasst, könnte zum Beispiel ein böser Junge folgendes machen: Er gibt im Suchfeld einfach folgendes an: "; INSERT INTO artikel (name) VALUES ("xyz"); SELECT * FROM artikel WHERE name = "abc dann wird aus dem Query ein: SELECT * FROM artikel WHERE name = ""; INSERT INTO artikel (name) VALUES ("xyz"); SELECT * FROM artikel WHERE name = "abc" Er fügt also einen zusätzlichen Datensatz in die DB ein, nicht so nett. Auf jedefall also vorher ein: $name = addslashes($name); durchführen, bzw das entsprechend in das sprintf-Statement einbauen. Bye Dante
php::bar PHP Wiki - Listenarchive