Mailinglisten-Archive |
Christian von Toerne wrote: > Würde mich mal interessieren, wie ihr das macht. Ich > werte $HTTP_REFERER aus und gucke nach, ob die absendende > Seite bei mir auf dem Rechner lag. Wenn das > der Fall ist, nehme ich die Werte, sonst nicht. Es ist total Wurst, wo Deine Parameter herkommen. Es geht darum, ob sie clean sind. Wenn Du also einen Eingabewert $land erwartest, der aus einer LOV (list of values) stammt, dann muß Du überprüfen, ob der Eingabewert wirklich ein Element der LOV ist oder irgendwas anderes. Wenn Du einen Parameter $path erwartest, der als Pfadname auf ein fopen() angewendet werden soll, dann mußt Du überprüfen, ob der Pfadname nur harmlose Komponenten enthält (also z.B. keine ".." oder ähnlichen Unsinn). > Ich vermute aber (leider), daß es nicht schwer ist, den > Referer zu spoofen. Es ist dann doc so schwer: $ telnet kris.shonline.de 80 Trying 194.172.236.12... Connected to telekom.shonline.de. Escape character is '^]'. GET /refer.php3 80 Host: kris.shonline.de Referer: /source.php3 HTTP/1.1 200 OK Date: Mon, 17 May 1999 10:16:35 GMT Server: Apache/1.2.6 Ben-SSL/1.16 Connection: close Content-Type: text/html /source.php3 Connection closed by foreign host. $ cat refer.php3 <?php print $HTTP_REFERER ?> Kristian -- Kristian Köhntopp, NetUSE Kommunikationstechnologie GmbH Siemenswall, D-24107 Kiel, Germany, +49 431 386 436 00 Using PHP3? See our web development library at http://phplib.shonline.de/ (GPL)
php::bar PHP Wiki - Listenarchive