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

Dateien auf dem Server vor nicht angemeldeten Benutzern(direkter Zugriff) schützen

Backfighter

Neues Mitglied
Hallo Forum :D
Ich habe eine Download section aber nur angemeldete Benutzer sollen an bestimmt download Dateien kommen. Ich hab mir schon einige Möglichkeiten angesehen, erstmal ist es bei mir nicht möglich einen Ordner außerhalb des "wwwOrdners" zu machen um sie vor direktem zugriff zu schützen. Mit htaccess will ich es nicht machen, angemeldete Nutzer sollen ohne nocheinmal etwas eingeben zu müssen direkt zum download gelangen.
Gibt es da noch andere möglichkeiten?
Danke schon im Vorraus :D

mfG Backfighter
 
Werbung:
Hallo,

brauchst doch nicht außerhalb des "wwwOrdners" sondern nur höher als die domain zeigt.

www
-homepageordnerA <DomainA
--bilder
--css
--js
-homepageordnerB <DomainB
--bilder
--css
--js
-XXX <geschützter ordner da auserhalb Domain

Wenn das nicht geht reicht das ja auch wenn die alle in ein extra ordner packst aber die Dateien nicht direckt verlingst sonstern immer über ein PHP Datei streamst per head(). könntest dateiname änderen bei download und den ordner name erfährt auch keiner.

Damit dürftest etwas weiter kommen zumindest gedanklich :O)

Cheffchen
 
Ja also das mit dem extra Ordner geht nicht ich habe mit dem wwwOrdner auch die domain gemmeint >-<
Wenn ichs per php mit head mach, dann wird das doch trotzdem oben im header angezeigt oder lieg ich da falsch?
 
Werbung:
Klar, verwende ein PHP-basiertes Loginsystem. Vorlagen dazu gibt es viele. Die zu schützenden Dateien legst Du außerhalb des www-Ordners ab. Wenn Du einen Download anbietest, dann führt dieser über eine PHP-Datei der Du als Parameter die runterzuladende Datei übergibst, z.B. so:

Code:
download.php?file=datei.pdf

In download.php prüfst Du dann, ob das Login des Nutzers gültig ist - sprich: ob er die Datei runterladen darf.

Wenn nein, dann leitest Du einfach per header() weiter auf z.B. die Startseite.

Wenn ja, dann lädst Du den Inhalt der Datei per file_get_contents() aus dem oberhalb des www-Ordner liegenden Download-Verzeichnis und gibst sie direkt aus. Hier musst Du dann die header()-Funktion verwenden um den richtigen Content-type für den Download zu setzen. Am Beispiel einer PDF-Datei wäre das z.B.

PHP:
header("Content-type: application/pdf");
echo file_get_contents($file_mit_pfad);
 
Ein Login-System hab ich bereits ^^
Und wie schon gesagt es ist mir weder möglich außerhalb der domain noch außerhalb des wwwOrdners einen neuen Ordner zu erstellen :/
 
Dann erstelle halt innerhalb des www-Ordners einen Ordner und leg dort eine .htaccess rein die jeglichen Aufruf auf die Startseite weiterleitet.
 
Werbung:
Klingt gut :)
Danke für den Link :D
Wisst ihr was ich in die htaccess reinschreiben muss, damit des weiter leitet?
Nen ganz normalen php Befehl(header) oder gibts da spezielle?
Edit: Hat sich erledigt :D ich hab diesen genialen Generator gefunden :http://www.htaccesseditor.com/gr.shtml#a_access

Noch eine Frage:Kann man den wwwOrdner mit hilfe von htaccess festlegen ?

Vielen Dank für alles =)
 
Zuletzt bearbeitet:
Nein, den DocumentRoot kann man nicht per htaccess festlegen. Siehe Manual: core - Apache HTTP Server

Alternativ kannst Du aber per mod_rewrite jeglichen Aufruf aus dem Verzeichnis in irgendein beliebiges Unterverzeichnis weiterleiten.
 
Werbung:
Zurück
Oben