dedlfix: Daten aus Datenbank auslesen..

Beitrag lesen

Hi!

http://www.tutorials.de/forum/php-tutorials/6083-gaestebuch-auf-mehrere-seiten-verteilen.html
Das Tutorial berücksichtigt eine der häufigsten Fehlerursachen nicht. Es missachtet die Kontextwechsel-Problematik.

Etwas genauer gesagt:

$start=$_GET['page'] * $proseite;
  $sql="SELECT * FROM table LIMIT $start,$proseite";

$proseite ist ein im Script gesetzter Zahlenwert, $start kommt zwar aus einer Benutzereingabe, aber durch die Multiplikation wird es garantiert zu einer Zahl. Diese Stelle ist also sicherheitstechnisch unproblematisch. Jedoch mit

echo "Eintrag von: ".$row['Name']." <br /> \n";

lässt sich ungewollt HTML und so weiter in die Webseite bringen.

echo "Eintrag von: " . htmlspecialchars($row['Name']) . "<br /> \n";

Lo!