Direktes Herunterladen verhindern

Pol

Mitglied
Hallo
Wie kann ich das direkte Herunterladen von .dcx,doc,odt per URL verhindern? Das Herunterladen sollte nur für die Applikations-Anwendern funktionieren. Ich finde leider keine Passende Lösung dafür.

Am besten checkt der Server, ob der User eingeloggt ist (session). Wenn ja, kann er die Date haben. Wenn nein leitet er ihn auf das Login.php zum Einstiegsseite.

Applikation: http://www.ddoart.ch/contur/index.php
Dateien sind unter: http://www.ddoart.ch/contur/vertraege/ (docx,odt,xls,etc)

Wenn jemand http:// http://www.ddoart.ch/contur/vertraege/lichtsaal.docx bekommt er heute die Datei, egal ob er eingeloggt ist oder nicht.

Danke
Pol
 
Du könntest beispielsweise den Zugriff auf diese Dateien per .htaccess verhindern. Dafür erstellst du dann beispielsweise ein PHP-Skript, welches die Dateien einliest und dann ausgibt, falls der Nutzer angemeldet sein sollte.
 
Hallo
Danke für die Idee. Ich würde gerne, den Typ der Dateien checken lassen. Ich bin halt kein Crack. Hast du mir einen Beispielcode oder einen Link?
Mir schwebt vor: Den Zugriff für alle Dateien verhindern, wenn der User nicht eingeloggt ist und auf die Datei index.php weiterleiten. Ansonsten die Datei freigeben.

Danke
Pol
 
Hallo
Ich habe mein Problem mit folgendem Code lösen können. Einfach das "Referer" und "origin" anpassen und den code als .htaccess ins Verzeichnis wo sich die Dokumente befinden platzieren. Damit sind nur die links aus der Applikation funktionsfähig. Alle anderen Requests werden nicht funktionieren.
Danke für alle Hinweise.

Code:
###Start here###
SetEnvIfNoCase Referer "^http://www.mpol.ch/demo/" internal 
SetEnvIfNoCase origin "^http://www.mpol.ch/demo/" internal 
<Files *> 
order Deny,Allow 
Deny from all 
Allow from env=internal 
</Files>
###End here###
 
Sowas bitte nicht verwenden!

Der Referer ist sehr, sehr leicht zu fälschen.

Anderer Lösungsansatz:
Leite alle Weiterleitungen auf die index.php weiter. Für Downloads verwendest du keine direkte URL mehr, sondern z.B. index.php?download=XXX.
In der index.php kannst du nun prüfen, ob der Nutzer eingeloggt ist und die Datei herunterladen darf. Wenn ja, gibst du die Datei einfach mittels PHP-Dateifunktionen (natürlich auch richtige Header setzen) aus!
 
Zurück