Hi Benne,
vobei zielsitet die seite sein soll die oben in der url steht:
www.domain.de/index.php?include=news.php
in diesem falle news.php .
meinst du etwa
include $_GET["include"];
Das sollte man AUF GAR KEINEN FALL machen!!
Denn damit hast du eine ziemlich große Sicherheitslücke produziert.
Über diese Sicherheitslücke lässt sich
a) alle Dateien ausgeben, auf die auch du Zugriff hast, es besteht
für den Angreifer also die Möglichkeit an sensible Dateien
(z.B. Passwort Dateien) dran zu kommen
b) sofern allow_url_fopen auf on steht, lässt sich sogar _beliebiger_
PHP Code auf dem Server ausführen - ich will gar nicht erst
sagen, wozu dass alles mißbraucht werden könnte. Die Liste fängt
beim Versenden von Spam Mails an und hört beim Ausführen von
weiteren Hacking Angriffen auf andere Server von deiner IP aus
auf.
Aus diesem Grund: So etwas bloß nicht machen!
So ist es besser:
$pages = array("index",
"news",
"foobar",
"impressum");
if([link:http://de2.php.net/in_array@title=in_array]($_GET['page'], $pages))
{
include "path/to/the/pages/" . $_GET['pages'] . ".php";
}
else
{
include "path/to/the/pages/index.php";
}
Was hier nun anders ist:
- Es können nur Seiten included werden, die im Array $pages enthalten sind
- Es können nur Seiten mit der Endung .php included werden
- der paht/to/the/pages/ vorne dran macht ein Einbinden von Scripten
über http:// unmöglich
MfG, Dennis.
Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
Man kann die Menschen zur Vernunft bringen, indem man sie dazu verleitet, daß sie selbst denken. (Voltaire)