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 :wink:

Verfasst: 11.06.2006 17:08
von S2B
fanrpg hat geschrieben:Spezials Variante ist jawohl sicher :wink:
Man nehme eine index.php in einem Ordner, in dem das Verzeichnis inhalt existiert und teste folgendes:

Code: Alles auswählen

<?php
include('inhalt/../index.php');
?>
Und einmal dynamisch:

Code: Alles auswählen

<?php
$action = (isset($_GET['action'])) ? $_GET['action'] : 'home'; 
include('inhalt/' . $action . '.php');
?>
Woher kennen wir das? :wink: 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?!