Hi Henryk,
if(!preg_match('#(\w+/)*\w+.\w+#',$incl))
$incl='incl/news.inc';
lässt nur noch 'übliche' Dateinnamen durch, sonst wird eine Standard Datei eingebunden.Also mein PHP matcht das auch hervorragend auf http://bla.blubb/foo weil du vergessen hast es zu verankern. Und weil sich bei solchen regulären Ausdrücken immer wieder gern Fehler einschleichen, würde ich eher zu $incl = basename($incl); raten und nur Namen im aktuellen (bzw. einem festen anderen) Verzeichnis zulassen. Das ist vergleichsweise narrensicher (und wenn da ein Fehler drin sein sollte, ist er von den PHP-Programmieren).
Verdammte Sch***. Das kommt davon wenn man Windows benutzt... (kein Webserver, kein PHP -> kein Test, ausserdem wars wohl zu früh..)
also '#^(\w+/)*\w+.\w+$#', mit basename() hast du natürlich recht, ich wollte halt eine 'plug in' Lösung ohne weitere Änderungen am Script.
Gruss,
Carsten