Geschrieben von lucas9991 am 09.04.2005, 13:16

hiho

also hier ein simples script zum sicheren! aufruf und includen von seiten
also zuerst der grundgedanke
über eine url also index.php?action=start wird eine seite aufgerufen
diese prüft zuerst ob die variable $_GET["action"] also die hinter dem ? gesetzt ist, da die url ja auch so aufgerufen werden könnte : index.php
also hier das script

<?php
if(!isset($_GET["action"])) { //wenn die variable action in der url nichts gesetzt ist, wird $action auf start
$action = "start"; gesetzt
} else { // andernfalls wird der inhalt von $_GET["action"] $action zugewiesen
$action = $_GET["action"];
}

// so jetzt ist die variable $action auf jeden fall gesetzt, entweder mit start oder mit dem inhalt $_GET["action"], also das was in der url steht
switch($action) {
case 'start': // wenn $action = start dann die startseite includen
include("start.php");
break; // die switch schleife abbrechen

case 'gb': // wenn $action = gb dann das Gästebuch includen
include("gb.php");
break;

/* usw.
case 'der_wert_von_$action':
include("welche seite soll includet werden?");
break;
*/
} // das } darf nich vergessen werden!

so das wars schon
is doch einfach und trotzdem sicher im gegensatz zu so etwas:


<?php
include("$_GET["action"]"); // FALSCH
?>

angenommen man gibt diese url ein index.php?action=http://www.lima-city.de/ , dann würde auf der seite die lima page erscheinen, was wohl kaum gewünscht sein kann
so kann man auch bösen code einführen!

hier ein kleines script für die "faulen" unter uns ;)


$sites = array();

$sites["start"] = "start.php";
$sites["news"] = "news.php";
$sites["gb"] = "gb.php";
// für jede weiter seite einfach $sites["der_name_hinter_get"] = "die zu includende seite";

if(!isset($_GET["action"])) {
$action = "start";
} else {
$action = $_GET["action"];
}
$angezeigt = true;
foreach($sites as $index => $site) {
if($index == '$_GET["action"]') {
include("".$site."");
$angezeigt = false;
}
}
if($angezeigt) {
include("".$sites["start"].""); // wenn keine der oberen seiten zurtifft die startseite includen
}

viel spass damit ;)
bei fragen etc. steh ich natürlich gern zu verfügung
icq 192853407 oder pn an mich

mfg Lucas9991
http://www.handyklau.de.gg
http://www.i-cms.de.vu

Bewertung Anzahl
6
90,0 %
27 Bewertungen
5
3,3 %
1 Bewertungen
4
3,3 %
1 Bewertungen
1
3,3 %
1 Bewertungen