Hoi,
- Variablen *immer* initialisieren! Nicht-Initialisierte
Variablen koennen in PHP zu unvorhergesehenen Ergebnissen
fuehren (Stickwort: Importierung von URL-Parametern in den
globalen Namensraum).
Insbesondere heißt das: *Kompletter* Verzicht auf "magische"
Variablen mit nicht allgemein(!) feststehendem Namen, besonders auf
die schon erwähnten URL-Parameter, aber auch Environment-Werte wie
$HTTP_REFERER etc. Benutze je nach Bedarf $HTTP_GET_VARS,
$HTTP_POST_VARS und die Funktion getenv().
Nun, in Bezug auf die GET- und POST-Parameter das sehe ich etwas
anders. Ich glaube, es reicht, die User-Eingaben (also die GET- und
POST-Variablen) zu validieren. Allerdings muss ich dir recht geben,
wenn du sagst, Scripte, die $HTTP_POST_VARS, $HTTP_GET_VARS und
$HTTP_POST_FILES benutzen, sind besser lesbar. Dasselbe gilt IMHO
fuer $HTTP_SESSION_VARS und getenv().
Aber mit der Zeit solltest du selbst ein Gespuehr dafuer
entwickeln und "wissen", was sicher oder unsicher ist.
Genau. Meminisse: Sicherheit ist kein Ziel, sondern ein Weg.
Netter Spruch ;-)
Gruesse aus dem schoenen LH,
c.j.k