geschützter PHP Download auf Windows Server
bearbeitet von Regina SchaukrugIm Prinzip geht das, so lange der User (unter dem der Webserver läuft) die Dateien lesen kann.
Dein Skript muss folgendes können:
1. Benutzer authentifizieren (lassen)
2. Zugriff erlauben oder verbieten
3. Übergebenen Dateiname/Adresse **UMFASSEND** prüfen (sind nicht erlaubte Zeichen oder Zeichenfolgen wie "../" oder "..\\" drin?), eventuell Abbruch
4. Überprüfen der Existenz der Datei, eventuell Abbruch, eventuell "Umbau" des Dateinamens
5. Ermitteln des Content-Types z.b. mit `finfo_file()`
6. Senden des Content-Types und weiterer Angaben mit `header()`
7. Senden der Datei z.B. mit `readfile()`
Unter Sicherheitsaspekten besehen ist neben der Authentifizierung und Prüfung eventueller individueller Zugriffsberechtigung(en) insbesondere die Prüfung des Namens der angeforderten Datei bzw. Ressource **ein Job, den jemand programmieren sollte, der sehr genau weiß was er da tut.**
[Sonst steht man Montags bei heise.de](https://www.heise.de/security/meldung/Cyber-Attacke-auf-Seitensprung-Portal-2753571.html)
geschützter PHP Download auf Windows Server
bearbeitet von Regina SchaukrugIm Prinzip geht das, so lange der User (unter dem der Webserver läuft) die Dateien lesen kann.
Dein Skript muss folgendes können:
1. Benutzer authentifizieren (lassen)
2. Zugriff erlauben oder verbieten
3. Übergebenen Dateiname/Adresse **UMFASSEND** prüfen (sind nicht erlaubte Zeichen oder Zeichenfolgen wie "../" oder "..\\" drin?), eventuell Abbruch
4. Überprüfen der Existenz der Datei, eventuell Abbruch
5. Ermitteln des Content-Types z.b. mit `finfo_file()`
6. Senden des Content-Types und weiterer Angaben mit `header()`
7. Senden der Datei z.B. mit `readfile()`
Unter Sicherheitsaspekten besehen ist neben der Authentifizierung und Prüfung eventueller individueller Zugriffsberechtigung(en) insbesondere die Prüfung des Namens der angeforderten Datei bzw. Ressource **ein Job, den jemand programmieren sollte, der sehr genau weiß was er da tut.**
[Sonst steht man Montags bei heise.de](https://www.heise.de/security/meldung/Cyber-Attacke-auf-Seitensprung-Portal-2753571.html)