xola: zwei kleine Codes mit einander kombinieren, bitte helfen!

Beitrag lesen

Hi Buchi,

Doch ich möchte ja beides einbinden, einmal .htm und auf der anderen Seite .php! Nun ist meine Frage wie kann ich die beiden Codes mit einander kombinieren, bzw wie müsste der Code lauten?

Dieses Problem trat bei mir neulich ebenfalls auf. Ich bin dazu umgestiegen, NUR php-Dateien zu benutzen (PHP-Dateien dürfen natürlich auch ausschließlich html-Code enthalten, php-Code muss nicht unbedingt drin sein).
Eine Lösung, die mir eingefallen ist, war, einen GET-Parameter in der URL zu übertragen. Ich nannte diesen "ext" für "extension" und gab ihm die gewünschte Endung. Dein Code müsste danach so aussehen:

  
<?php  
 if(isset($_GET['seite']))  
 {  
 $_GET['seite']=str_replace(array('http://','ftp://','..'),array('','',''),$_GET['seite']);  
 if(@file_exists($_GET['seite'].'.$_GET['ext']))include($_GET['seite'].'.$_GET['ext']');  
 else echo 'Sorry, die Datei existiert nicht!';  
 }  
 else include('seite/home.htm');  
?>  

Mit diesem Script ist es ebenfalls möglich, Projekt-externe Dateien zu includen. Wenn du das wirklich willst, dann lass dir gesagt sein, dass hierbei "böser Code" von deinem Script ausgeführt werden kann (obwohl dein Script schon recht sicher ist), der auf fremden Servern liegt und auf den du keinen Einfluss haben kannst.
Willst du das (wie ich hoffe) aber verhindern, dann lege ich dir $_SERVER['Document_Root']; ans Herz. Damit lassen sich nur noch Dateien aus dem DocumentRoot des Servers includen.

MfG -
xola

--
Unterschied zwischen Gott und Admin?
-- Gott ist gnädig!
(Biesterfeld in http://forum.de.selfhtml.org/archiv/2005/7/t110831/#m696446 )