• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Downloadschutz realisieren

Status
Für weitere Antworten geschlossen.

Deathlesh

Neues Mitglied
Hallo!

Kann man den Bilderschutz auch als Downloadschutz benutzen?

Code:
<files ~ "\.(zip|rar|gif|jpe?g|png)$">
ErrorDocument 403 http://www.meinserver.ch/images/illegal.gif
SetEnvIfNoCase Referer "^http://www.meinserver.ch" local_ref=1
SetEnvIfNoCase Referer "^http://meinserver.ch" local_ref=1
SetEnvIfNoCase Referer ^$ local_ref=1
Order Allow,Deny
Allow from env=local_ref
</files>

Ich habe es zumindest nicht selber geschafft. Ich habe einfach die Formate hinzugefügt, aber man kann die Dateien trotzdem noch per direkten Link aufrufen und herunterladen ohne meine Seite zu besuchen, die Links gehen auch noch von anderen Seiten aus.

Im Internet habe ich noch eine einzige andere Idee aufgegriffen, und zwar ging es darum einen Ordner mit Dateien per HTACCESS mit Benutzernamen und Passwort zu schützen und über eine PHP-Datei den Download zu ermöglichen:

Code:
// $download sei der Bezeichner für die zu ladende Datei
// etwa: 
$download = $_GET['download'];

// Dieses Verzeichnis liegt außerhalb des Document Root und
// ist nicht per URL erreichbar.
$basedir = "/home/www/download";

// Übersetzung von Download-Bezeichner in Dateinamen.
$filelist = array(
  "file1" => "area1/datei1.zip",
  "file2" => "area1/datei2.zip",
  "file3" => "area2/datei1.zip"
);

// Einbruchsversuch abfangen.
if (!isset($filelist[$download]))
  die("Datei $download nicht vorhanden.");

// Vertrauenswürdigen Dateinamen basteln.
$filename = sprintf("%s/%s", $basedir, $filelist[$download]);

// Passenden Datentyp erzeugen.
header("Content-Type: application/octet-stream");

// Passenden Dateinamen im Download-Requester vorgeben,
// z. B. den Original-Dateinamen
$save_as_name = basename($filelist[$download]);
header("Content-Disposition: attachment; filename=\"$save_as_name\"");

// Datei ausgeben.
readfile($filename);

Allerdings bringt mir das nichts, denn es ist mir egal ob man den Download nun direkt aufrufen kann oder in Form von download.php?download=datei.zip, denn ich möchte beides nicht! Ich möchte, dass man erst auf meine Seite muss und die Dateien nur von meiner Seite aus herunterladen kann. Wie kann ich das mit HTACCESS und/ oder PHP realisieren?
 
Wenn du die entsprechenden Rechte auf deinem Webserver hast, kannst du einen Ordner (files) in einem nicht öffentlichem Raum anlegen, und mit PHP diese öffnen und zum download anbieten.

Code:
/www   <-- hier liegt deine Seite drin, und wird über domain.de aufgerufen
/www/getdatei.php

/files <-- hier liegen deine Daten drin
/files/datei.zip

Dann relativ auf die Daten zugreifen, und es ist kein direktes Verlinken mehr möglich.
 
Das kann ich leider nicht, aber ist das mit HTACCESS, Benutzername und Passwort im Endeffekt nicht das selbe?
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben