Hallo Zusammen
Habe ein paar sensitive Daten, die ich den Mitgliedern einer Seite zum Download zur Verfügung stellen möchte. Allerdings will ich die Dateien nicht in Ordnern ablegen, die vom WWW direkt zugänglich sind.
Das Download-Modul ist zwar nur für Mitglieder zugänglich, aber ich will wirklich verhindern, dass man an die Downloads mittels URL dran kommt.
BSP:
Die Datei liegt in /var/www/vhosts/xxx.ch/downloads/
PragmaMX liegt in /var/www/vhosts/xxx.ch/httpdocs/
Geht das mit dem integrierten Download-Modul? Wenn ja, habe ich den Weg dazu noch nicht gefunden. Mir wird bei allen versuchten Varianten immer http:// und die Domain vorangestellt.
Das sieht dann so aus: http://www.xxx.ch/var/www/vhosts/xxx.ch/downloads/file.php
Das kann ja nicht funktionieren.
Auch die immer wieder vorgeschlagene Coppermine-Variante taugt in dem Fall nix, da ja auch dort die Files alle in einem öffentlich zugänglichen Bereich liegen. (Mit der Gallery2 von Menalto geht das. Da werden alle Files ausserhalb des httpdocs abgelegt.)
Gruss
Deepsleep
Ha ???? :puzzled: :gruebel: :gruebel:
also .. falls du nur gemieteten webspace hast hmm ist es erstmal fraglich ob sich der hoster so wahnsinnig darüber freut das du eigene dateien ausserhalb deines eigentlichen webspaces ( httpdocs) speicherst.
nächste frage : wenn die dateien nicht über das weltweite netzwerk (von rechnern) gedownloadet werden sollen - wie dann ?
wenn man sich bisschen anstrengt kann man meinen das du vieleicht http meinst - die methode die zu 99% für downloads angewendet wird. das kann man umgehen. zB durch ftp . dazu müsstest du mindestens einen neuen ftp-client einrichten, dem du als zielordner zb
/var/www/vhosts/xxx.ch/downloads/ gibst. da du, um unerwünschten zugriff zuverhindern, dem neuen clienten auch ein passwort zuteilen musst dürfte das ganze bereits hier mit dem downloadmodul scheitern . es sei es wird umgeschrieben , zu einem ftp-clienten.
allerdings geht es auch viel einfacher : in das verzeichniss, in dem die dowloads liegen, eine htacess-Datei packen die externe deeplinks auf die dateien blockiert.
übrigends kommt beim downloadmodul nicht der "absolute pfad" zur datei rein , sondern der "relative" ( die url ) beispiel: xxx.ch/modules/Downloads/23/file.php . das links wie deiner scheitern könnte unteranderem daran liegen das ( falls du gemieteten webspace hast) dein hoster nur auf das httpdocs-verzeichniss zugriffe zu lässt.
Hallo grafikmurkser
Habe einen vServer mit Root-Zugriff. Von daher kein Problem. Aber selbst wenn: Ich hatte bisher immer Hoster, bei denen ich immer standartmässig Zugriff auf das Elternverzeichnis von httpdocs hatte.
In der Theorie müsste das ganze auch mit dem Download-Modul funzen, wenn es denn den absoluten Pfad auf die Datei zulassen würde und mit Dateien ausserhalb des httpdocs umgehen könnte.
Wie gesagt, bei der Gallery von Menalto kann man alle Files ausserhalb des "öffentilch" zugänglichen Bereichs ablegen. Das Programm "findet" dann den Weg dorthin.
Schaue mir aber mal die Angelegenheit mit der .htaccess an. Vielleicht hat ja noch wer eine Idee, wie weit man das Downloadmodul in die Richtung ändern könnte.
das mit der htaccess währ die einfachste - und wohl auch sicherste alternative, denn ich meine das jede grössere änderung am script auch ein eingriff in die sicherheitsmechanismen ist .
Moin Zusammen
Gibts da wirklich keine bessere Lösung?
Gruss
Deepsleep
Habe noch zum Thema Verzeichnisschutz auf dem Internet gefunden, nur bin ich jetzt endgültig ratos:
Gemäss diversen Seiten (u.a. SelfHTML) sollte eine .htaccess Datei mit dem folgenden Inhalt den Zugriff nur noch über PHP erlauben, also direkten Zugriff auf das File unterbinden:
order deny,allow
deny from all
Wenn ich allerdings eine solche .htaccess-Datei erstelle und diese in das betreffende Folder ablege, kommt auch PMX nicht mehr dran. Liegt das jetzt am Download-Modul oder an meiner Installation?
Ich lasse PHP im fcgi mod laufen.
Mir ist das Thema wirklich wichtig. Es geht darum, dass ich Mitgliederlisten, Vereinsbeschlüsse usw. auf die Seite stellen muss, aber natürlich auch gewährleisten soll, dass diese nur über den Mitgliederbereich heruntergeladen werden können. Also ein Zugriff mittels Eingabe der direkten URL muss unterbunden werden.
Die eleganteste Lösung wäre halt wirklich, das Zeugs in ein Folder ausserhalb von httpdocs (public_html usw.) zulegen und mittels des Download-Moduls dort abholen zu können.
Gruss
Deepsleep
änder mal die htaccess in
Zitatorder deny,allow
allow from deinedomain.com
noch besser währ es statt der domain die IP des Servers einzutragen
Beispiel:
Zitatorder deny,allow
allow from 88.77.666.21
Moin :morning:
wenn man den letzten Tip beachtet sollte man das aber immer im Hinterkopf behalten wenn man mal umzieht. Da ist das mit der Domain sinnvoller.
Löst aber nicht das Problem, dass man per direkter Url an den Download kommt.
Hallo Eismann..
eigentlich sollte damit jeder reffererzugriff gesperrt werden.
aber du hast recht, wenn man sich direkt auf der website befindet greift dieser schutz nicht mehr .. hmmmm...
wobei - der verzeichnisschutz und rechtevergabe an usergruppen ? hmm müsste ich mal selbst ausprobieren ob das bei deeplinks wirkung zeigt . ansonsten fällt mir erstmal nicht viel ein . ausser übliches prozedere bei deeplinks ( dateinamen öfters ändern.. )
Tach Zusammen
Ich nehm das Thema nochmals auf. Trotz diverser Versuche bin ich noch nicht weiter gekommen. So wie es aussieht, kann ich meine sensitiven Daten meinen Usern nur dann mittels PragmaMX zur Verfügung stellen, wenn ich die Dateien in einen öffentlich zugänglichen Ordner ablege.
Frage an die Programmierer: Könnte man das Download-Modul nicht dahin gehend ergänzen, dass es auch Downloads mittels absolutem Pfad zulässt? Dann könnte ich meine Daten auch ins /var/vhost/www/meinedomain.ch/downloads stellen.
Wie gesagt, für 0815-Dateien ist das jetzige Download-Modul absolut genügend. Aber sobald man gewisse Daten ausserhalb des /httpdocs ablegen will, klappt es mit dem Download-Modul nicht mehr. Ich möchte halt keine Adresslisten oder Sitzungsprotokolle in ein Verzeichnis legen, in welchem man per Deeplink dran kommt.
Danke fürs Feedback.
Gruss
Deepsleep