hi,
Ist es unsicher, statt einer Id gleich den kompletten Dateinamen an das Downloadscript zu übergeben? Selbst wenn der Dateiname bekannt ist, kann die Datei nicht ohne Downloadscript heruntergeladen werden, wenn das Verzeichnis nicht per HTTP ansprechbar ist. Das Downloadscript kann ich ja noch zusätzlich schützen, in dem es nur ausgeführt wird, wenn der User auf der HP eingeloggt ist. Habe ich was übersehen?
Ja, eventuell.
Du solltest den übergebenen Parameter bei dieser Vorgehensweise natürlich auf "Gültigkeit" prüfen.
Denn sonst mache ich aus deinem
download.php?datei=xyz.pdf
schnell mal ein
download.php?datei=mysql_connect.php (o.ä.)
- und bekomme dann, da dieses Script nicht geparst, sondern einfach nur der Dateiinhalt an mich weitergegeben wird, zum Beispiel die darin stehenden Zugangsdaten zu deiner MySQL-DB in die Hand ...
Also definiere vorher einen Gültigkeitsbereich - der kann bspw. nur Dateien in einem speziellen Unterorder umfassen - und prüfe dann den übergebenen Parameter drauf.
Vorsicht auch mit Leichtsinnigkeiten wie "ich setze einfach ein 'unterordner/dateien/' davor, dann kann man nur Dateien aus diesem Order auslesen" - das ist idR. ganz fix umgangen, in dem man als Parameter "../xyz.php" übergibt.
Das wird dann nämlich zu "unterordner/dateien/../xyz.php", und das ist gleich "unterordner/xyz.php".
gruß,
wahsaga
/voodoo.css:
#GeorgeWBush { position:absolute; bottom:-6ft; }