[PHP] www.domain.de?dir=impressum

Quiny89

abgemeldet
18 Oktober 2007
123
17
ich möchte meine seiten intern wie im titel verlinken ....

dazu nutze ich diesen php code

PHP:
if(isset($_GET['dir'])){if(!@include('sites/'.$_GET['dir'].'.php')){echo"#FEHLER#  Seite nicht gefunden";}}


nun wollte ich fragen ob es da risiken gibt da mir der code komisch vorkommt und ich ein schlechtes gefühl dabei hab ^^

greetz
 
Ich hoff, du hast diesen Code nicht wie hier in einer Zeile stehen 8O

Besonders gut ist er nicht. Sicherkeitsrisiko gegeben, aber nur minimal.
Bsp: Ich hab Webspace auf dem selben Server (Sicherheitseinstellungen ganz unten) wie du. Ich übergeb dann einfach nur z.B. www.example.com/?dir=../../../web4711/folder/my_bad_script_running_on_your_account.php

Besser:
Setz eine Whitelist ein. Sieht primitiv so aus:
PHP:
$whitelist = array('foo.php', 'bar.php');

if(in_array(@$_GET['site'], $whitelist))
  do_something_with($_GET['site']);
else
  error();