Frage zu php und include

Ulfrinn schrieb:
Ja, damit bekommt man dann schönere URLs, aber die Technik muß dahinter trotzdem da sein. ;)

Aber mit mod_rewrite erübrigt sich doch die
nötige Technik dahinter!

.htaccess
Code:
RewriteEngine On

RewriteRule ^([a-z0-9\-_]+)[.htm|.html]+$ /PATH/TO/MODULES/$1.php [QSA,NC]

Dann wird z.B.

http://www.domainname.de/testskript.html

direkt auf das PHP Skript testskript.php geleitet.

Und durch folgende Direktive umgeht man die 404 Seite.

.htaccess
Code:
ErrorDocument 404 /

Gruß, Micha
 
michanismus schrieb:
Aber mit mod_rewrite erübrigt sich doch die
nötige Technik dahinter!
Nein, denn es geht ja darum, ein gemeinsames Grundgerüst für die Seiten zu haben. Die Module sollen ja nur in den Rest der Seite hineingeladen werden. Das Ganze ist also mit einem Frameset vergleichbar.
 
Ulfrinn schrieb:
Nein, denn es geht ja darum, ein gemeinsames Grundgerüst für die Seiten zu haben. Die Module sollen ja nur in den Rest der Seite hineingeladen werden. Das Ganze ist also mit einem Frameset vergleichbar.

Okay, aber dann solltest du deinem
require eine Prüfung vorstellen, ansonsten
fliegt dir das Skript um die Ohren wenn du
als GET Parameter irgendwas angibst,
die Sicherheit jetzt mal nicht beleuchtet. ;)

Gruß, Micha
 
Ulfrinn schrieb:
...Die Module sollten außerdem die Endung .inc.php, nicht bloß .php haben.
Dient das nur der besseren Übersicht oder hat das auch noch andre Gründe?
 
michanismus schrieb:
Okay, aber dann solltest du deinem
require eine Prüfung vorstellen, ansonsten
fliegt dir das Skript um die Ohren wenn du
als GET Parameter irgendwas angibst,
die Sicherheit jetzt mal nicht beleuchtet. ;)
Ja, vor diversen „..“ sollte man sich natürlich schützen. :D
 
Beispiel aus dem Man.

Code:
  $path = 'pages/';
  $extension = '.php';
  
  if ( preg_match("#^[a-z0-9_]+$#i",$page) ){
   $filename = $path.$page.$extension;
   include($filename);
  }

Ein zusätzliches if(file_exists($filename)) wäre ebenfalls noch sinnvoll.
 
Zurück
Oben Unten