phpbar.de logo

Mailinglisten-Archive

[php] Input Fields validieren

[php] Input Fields validieren

Thomas Feyrer Dante_(at)_altmuehlnet.de
Fri, 02 Jun 2000 14:12:14 +0200


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