Seite 2 von 2
Verfasst: 10.06.2006 14:07
von Spezial
ich machs imma so:
Code: Alles auswählen
<?php
$action = (isset($_GET['action'])) ? $_GET['action'] : 'home';
include('inhalt/' . $action . '.php');
?>
ich denke mal was wo rein muss erklärt sich vons elbst

Verfasst: 10.06.2006 15:21
von S2B
Nein.

Mit dieser Methode kann jeder Benutzer beliebige Dateien auf deinem Server includen, das ist nicht gut.
Um das zu verhindern, gibt es mehrere Möglichkeiten, unter anderem auch die if - elseif - else-Methode.
Code: Alles auswählen
if ($page == 'seite1')
{
include('seite1.php');
}
elseif ($page == 'seite2')
{
include('seite1.php');
}
else
{
include('standard.php');
}
Code: Alles auswählen
switch ($page)
{
case 'seite1':
include('seite1.php');
break;
case 'seite2':
include('seite1.php');
break;
default:
include('standard.php');
break;
}
Code: Alles auswählen
$pages = array('seite1', 'seite2');
if (in_array($page, $pages))
{
include($page . '.php');
}
else
{
include('standard.php');
}
Verfasst: 11.06.2006 16:23
von eiko
Danke fuer eurte Hilfe. Aber wo fuege ich den Code jetzt genau ein?
http://www.phpbb.de/doku/kb/artikel.php ... hpbb_seite
Verfasst: 11.06.2006 16:38
von fanrpg
Nein. Mit dieser Methode kann jeder Benutzer beliebige Dateien auf deinem Server includen, das ist nicht gut.
Spezials Variante ist jawohl sicher

Verfasst: 11.06.2006 17:08
von S2B
fanrpg hat geschrieben:Spezials Variante ist jawohl sicher

Man nehme eine index.php in einem Ordner, in dem das Verzeichnis inhalt existiert und teste folgendes:
Und einmal dynamisch:
Code: Alles auswählen
<?php
$action = (isset($_GET['action'])) ? $_GET['action'] : 'home';
include('inhalt/' . $action . '.php');
?>
Woher kennen wir das?

Wenn du jetzt als action
../index übergibst, wird genau das gleiche passieren... Natürlich würde das auch mit jeder x-beliebigen PHP-Datei gehen, die auf deinem Server rumfährt und auf die PHP Zugriff hat.
Verfasst: 11.06.2006 21:11
von Xwitz
eiko hat geschrieben:Danke fuer eurte Hilfe. Aber wo fuege ich den Code jetzt genau ein?
Da wo der selektive Inhalt hin soll?!