milky: Sicherheitsrisiko mit GET, POST, etc.

Beitrag lesen

Hey Sox,

Wichtig ist zu verifizieren 1. Wo die Werte herkommen,
Wie mach ich das?

Normalerweise holst du dir Formular-Daten über $_REQUEST["wert"].
Aber wenn du sicher bist, einen Wert als Cookie abgespeichert
zu haben, ist es besser auch nur $_COOKIES[] abzufragen.
Ebenso gibt es auch $_GET[] und $_POST[]. In der Praxis macht es
jedoch kaum Sinn sich darum zu kümmern, weil der Anwender (mit
präparierten Clients) ohnehin alle drei beliebig mit Daten
spicken kann.

Wie meinst du das? Ob der Typ der Variable richtig ist?

Du solltest die Werte nicht direkt weiterverarbeiten, sondern die
eingenden Daten erst filtern. Ich hatte früher mal eine kleine
Fkt. eben dafür verwendet:

function expect($name, $regex='/^\w+$/') {
      if (preg_match($regex, $_REQUEST[$name], $uu)) {
         return($uu[0]);
      }
   }

Und wenn du nun einen Parameter einlesen willst, der auf jeden Fall
eine Zahl enthalten muß, dann nimmst du:

$zahl = expect("zahl", "/^\d+$/");

Und nur wenn dir absolut egal ist, was in einer Variablen steht,
solltest du den $_REQUEST["wasauchimmer"]-Wert direkt verwenden.

MsF,
milky