Habe mal ein kurzes Problem , vieleicht kennt sich jemand aus . Ich habe jede Menge Dateien zum Download und möchte verhindern das diese auf anderen Seiten einfach nur verlinkt werden, also irgendwie so , das diese nur von meinem Server aus funktionieren sollen ?
Habe es mit einer .htaccess versucht - funktioniert aber irgendwie nicht ?
ich hoffe, du hast die htaccess-Fähigkeit angeschaltet im apachen. Du mußt auf jeden Fall
AllowOverride All
einstellen, damit .htaccess dateien überhaupt bearbeitet werden.
Funktionieren denn andere .htaccess-Dateien? schreib doch einfach mal eine .htaccess-Datei mit einer Passwort-Abfrage in das Verzeichnis und guck, ob dann eine Passwort-Abfrage kommt. Falls nicht, hast du htaccess noch nicht aktiviert.
Man beachte auch, dass man das AllowOverride an der richtigen Stelle in der httpd.conf setzt
Der Check über den Referrer nutzt nur was gegen absolute Noobs und sperrt wie schon gesagt User aus.
Pack die Dateien an einen Ort außerhalb des Doc-Roots, verwende PHP-Skripte mit User-Authentifikation und stream die Daten an den Client (z.b. "readfile()").
Sorry, wenn ich mich wiederhole, aber mod_rewrite ist nicht dafür da, Clients per Referrer-Check auszusperren. Es nutzt ohnehin nichts, z.B. bei wget kann man den Referrer mit einer einzigen kleinen Option faken.
Spielt das eine Rolle? Wenn der intelligente Surfer merkt, dass er in einen Referrer-Check läuft, wird eben jener halt gefälscht. Wenn die Daten interessant sind, wird der Seitenbetreiber einen Hinweis anbringen, dass die Seite dementsprechend "geschützt" ist und damit hat es sich dann.
Das "Verhindern" der Direktverlinkung per mod_rewrite halte ich für Security by Obscurity, was bekanntermaßen nicht funktioniert.
Mit dieser Methode sollen nicht Besucher abgeschreckt werden, die Downloadtools einsetzen, sondern es sollen Websitebetreiber abgehalten werden, Downloads direkt zu verlinken.
Und dazu ist diese Methode in meinen Augen sehr gut geeignet. Der einzige Nachteil ist der, dass Besucher mit einem manipulierten Referrer evtl. ungewollt ausgesperrt werden. In den meisten Fällen kann man das aber vernachlässigen.
"Bisschen Verlust ist immer."
Deine Argumentation will mir aber nicht so richtig einleuchten.
Man kann die Files dann z.B. nicht mehr so einfach mit "wget" ziehen, weil man dazu manuell den Referrer übergeben muss, was ziemlich nervig ist.
Lösung: Download nur über ein Skript erlauben, Session-Id übergeben, Session auf der gewünschten Seite entsprechend initialisieren, dann kann nur noch auf diese Seite verlinkt werden.
Genau so machen das übrigens "professionelle" Download-Anbieter, die nicht wollen, dass man direkt auf die Datei verlinkt.
Niemand hat hier gefragt, wie man einen unerwünschten Download verhindern kann.
Es ging lediglich darum, wie man andere Website-Betreiber davon abhalten kann, einen eigenen Download direkt zu verlinken.
Und das kann man sehr gut mit den Rewrite-Rules von mod_rewrite. Welcher halbwegs intelligente mitteleuropäische Website-Betreiber würde Downloads auf seiner Site verlinken, an denen über 90% seiner Besucher scheitern? Keiner.
Was interessiert es ihn, was seine Besucher könnten? Nichts.
Ihn interessiert, was das Gros seiner Besucher macht.
Wird er also Downloads auf seiner Site verlinken, die den Referrer checken? Nein.
Und die "professionellen" Downloadanbieter (sourceforge.net, zd.net) schützen ihr Downloadverzeichnis per Authentifikationskontrolle von Apache. Das aber nur deswegen, weil sie mit "ein bisschen Verlust" nicht leben können. Sie wollen halt ein Download-Angebot für alle bieten. Auch für die, die ihre Referrer-Angabe gewollt oder ungewollt manipulieren.
s4fuser wrote:
Und die "professionellen" Downloadanbieter (sourceforge.net, zd.net) schützen ihr Downloadverzeichnis per Authentifikationskontrolle von Apache. Das aber nur deswegen, weil sie mit "ein bisschen Verlust" nicht leben können. Sie wollen halt ein Download-Angebot für alle bieten. Auch für die, die ihre Referrer-Angabe gewollt oder ungewollt manipulieren.
1. SourceForge "schützt" überhaupt nichts.
2. Arbeitet kein mir bekannter Anbieter mit HTTP-Authentifizierung, die arbeiten meistens mit Sessions, da dies der effektivste und gleichzeitg benutzerfreundlichste Weg ist, "direkte" Links zu verhindern.
PS: Ein entsprechendes Skript ist schneller geschrieben als die Rewrite-Rule erstellt und getestet.
s4fuser wrote:Sie wollen halt ein Download-Angebot für alle bieten. Auch für die, die ihre Referrer-Angabe gewollt oder ungewollt manipulieren.
Und genau so soll es auch sein, ansonsten sollte man eben einen FTP-Server einrichten, bei dem ausgewählte Benutzer Zugriff auf die Dateien haben.. alles andere ist für mich eine Vergewaltigung des Apache und bringt mehr Probleme als Nutzen.
Ihr habt behauptet, ein Schutz mit mod_rewrite würde nichts bringen, weil man ihn umgehen kann. Ich habe diesen "Schutz" eingebaut, und seitdem verlinkt fast niemand mehr meine Dateien direkt. Warum bloß? Weil es nichts bringt?
Und dass der Schutz nicht perfekt ist, hat niemand bestritten. Ebensowenig, dass man als User ihn umgehen kann. Aber gegen böswillige Webmaster hilft er sehr gut. Und genau dagegen habt Ihr argumentiert.
Nun läuft die Argumentation plötzlich in Richtung anderer Möglichkeiten oder dass Ihr das so gar nicht gemeint habt.