[PHP] Sichere Includes - immer noch aktuell so?
Hi Leute,
ich wollte mal fragen ob dieser Beitrag immer noch aktuell ist - d.h. ob die 2. Methode (Dynamische Definition) immer noch sicher vor FLI (local file include) ist??
Hier auch nochmal der Code:
Ansonsten wäre ich über eine aktuelle Lösung sehr erfreut.
ich wollte mal fragen ob dieser Beitrag immer noch aktuell ist - d.h. ob die 2. Methode (Dynamische Definition) immer noch sicher vor FLI (local file include) ist??
Hier auch nochmal der Code:
|
|
PHP-Quelltext |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php
// ... Rahmenlayout usw
$include = "startseite.php";
if(!empty($_GET['seite'])) {
$tempvar = "./" . basename($_GET['seite']) . ".php"; // Hier könnte auch noch ein anderer Ordner eingesetzt werden
if(file_exists($tempvar)) {
$include = $tempvar;
}
}
include($include);
?>
|
Ansonsten wäre ich über eine aktuelle Lösung sehr erfreut.
|
|
PHP-Quelltext |
1 2 3 |
if(file_exists($tempvar)) { //Prüfe ob datei exesteiert, wenn ja dann include diese
$include = $tempvar;
}
|
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Sorry aber das sagt mir eig. genauso viel wie vorher oO....
![]()
PHP-Quelltext
1 2 3if(file_exists($tempvar)) { //Prüfe ob datei exesteiert, wenn ja dann include diese $include = $tempvar; }
P.S.: Es sollte noch angemerkt sein das ich in Sachen "php programmieren" so gut wie keine Kenntnisse habe.
schau mal du hast ja folgendes geschrieben
|
|
PHP-Quelltext |
1 |
$tempvar = "./" . basename($_GET['seite']) . ".php"; // Hier könnte auch noch ein anderer Ordner eingesetzt werden
|
also wenn du bei dir index.php?site=home aufrufst, wird home.php aufgerufen intern, nun denkst du man könnte einen anderen ordner einbinden also index.php?site=foo/bar/home somit wird dann theoretisch foo/bar/home.php aufgerufen.
alternativ könntest du ja ein Ordner anlegen wie "sites" und dein code so abändern
|
|
PHP-Quelltext |
1 2 |
[php]
$tempvar = "sites/" . $_GET['seite'] . ".php";
|
so nun wird bei index.php?site=home die home.php aus dem sites ordner eingebunden, wenn jemand schreibt index.php?site=foo/bar/home somit versucht dann der script sites/foo/bar/home.php aufzurufen, da aber die datei nicht exestiert kriegt die person eine fehlermeldung.
hoffe nun ist es etwas klarer
Mein kleines Projekt
-Cruel Online-
-Cruel Online-
Ähnliche Themen
-
PHP »-
Content includieren
(13. August 2011, 10:29)
-
PHP »-
eine php seite mit index.php?ID=2
(8. Dezember 2009, 16:49)
-
(X)HTML & CSS & DHTML & Javascript »-
Blutiger html Anfänger
(13. Juli 2008, 20:38)
-
(X)HTML & CSS & DHTML & Javascript »-
Link für DIV?
(22. Juni 2008, 09:58)


