Robert Bienert: Sicherer Download

Beitrag lesen

Moin!

erstaml DANKe für die nette Hilfe.

Dafür ist dieses Forum schließlich da.

Bei der ganzen Disku. habe ich die Übersicht verloren.

;-)

Könnt Ihr mir bitte eine genaue Version geben, die jetzt richtig
funktioniert. Als Anfanger ist das nicht soooo einfach.

Unabhängig davon, wie du die Downloads im geschützten Bereich verlinkst, kannst du auf jeden Fall den Code für den Download an sich aus meinem Posting verwenden, den ich hier noch einmal mit Kommentaren versehe:

  
<?php  
// In diesem Verzeichnis liegen alle Downloads:  
$ordner = '/pfad/zu/meinen/Downloads/';  
  
// Hiermit ist sichergestellt, dass $datei nur noch den Dateinamen  
// (inkl. Endung) enthält und „sauber“ ist; $datei enthält vor allem  
// auch keine anderen gefährlichen Zeichen wie NULL-Bytes mehr.  
$datei  = basename($_GET['dateiname']);  
  
// Wir senden Binärdaten …  
header('Content-Type: application/octet-stream');  
// … die der Browser bitte unter $datei speichern möge.  
header('Content-Disposition: attachment; filename=' . $datei);  
  
// Sende die komplette Datei an den Server:  
readfile($ordner . $datei);  
?>  

Viele Grüße,
Robert