Mailinglisten-Archive |
Hallo allesamt...
On Donnerstag, 8. September 2011 14:39:11 Nico Haase wrote:
> > Sicherheit:
> > Wodurch wird mein Skript angreifbar wenn ich nicht zuvor prüfe ob
> > die abzufragende Variable einen Wert enthält?
> > z.B.
> > if($_REQUEST['speichern'] == 'ja')
>
> Ich habe vorhin schon länger darüber nachgedacht, aber mir fällt immer noch
> kein konkretes Beispiel ein...
>
Zunächst mal bin ich dafür $_REQUEST auch gleich mit abzuschaffen.... Hier
hast Du die Anfälligkeit, dass - obwohl du einen POST-Parameter erwartest -
ein User Dir einen GET-Parameter selben Namens unterjubeln kann...
Prinizipiell halte ich es auch für fatal, einfach mal die Notices
auszuschalten - zumindest auf den DEV-Servern! Wenn ein Parameter nicht
definiert ist, dann hat der Entwickler das Form, die URL oder was auch immer
einfach falsch gebaut... Nach 3-x mal gehen die Abfragen wie
if (isset($var) && $var == xyz) {
}
ganz einfach von der Hand. Gerade durch die Typunsicherheit bei php sollte man
alle Eventualitäten bedenken und z.B. mit "===" auch auf Typgleichheit
prüfen...
Jens
--
jens reinemuth
leonhard-eckel-siedlung 4
67483 edesheim
mail: jens at reinemuth.info
jabber: jens.reinemuth at jabber.erdfisch.de
php::bar PHP Wiki - Listenarchive