Kennt ja sicher der ein oder andere:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^[url=http://www.sternenvolk.de.]http://www.sternenvolk.de.[/url]*$ [NC]
RewriteRule .*$ - [F]
Jetzt kann auf das Verzeichnis wo die Access-Datei liegt, nur noch von sternenvolk.de zugegriffen werden. Alles schön und gut. Nur wenn ich mir lokal ne Seite bastel und da einen Link zur entsprechenden Datei einfüge, interessiert das niemanden mehr. Weiß jemand, wie man das umgehen kann?
Beispiel damit jeder weiß, was ich meine:
http://www.sternenvolk.de/download/cs_italy.zip Klickt und ihr bekommt einen Error. Erstellt bei Euch lokal einen Link und schon klappts.
Tja, wenn kein Referrer existiert macht die RewriteEngine nichts.
Demnach reicht ebenso einfach ein neues Browserfenster [img]
http://www.fb18.de/gfx/28.gif[/img]
Was du gegen Linkklau natürlich versuchen könntest wäre z.B. auf der verweisenden Seite ein Cookie legen und dann beim Download checken ob das Cookie gesetzt ist. Ist natürlich aufwändiger als das File einfach ins Verzeichnis schmeißen :)
Tja, wenn kein Referrer existiert macht die RewriteEngine nichts.
Ja, also das da nichts passiert und man die Datei trotzdem downloaden kann, ist mir auch aufgefallen. Das hätte man sich nach meinem Posting eigentlich denken können. Aber es muss doch auch genau für diesen Fall eine Abfrage mit Verbot geben. Immerhin gelingt es anderen Seiten ja auch.
Was du gegen Linkklau natürlich versuchen könntest wäre z.B. auf der verweisenden Seite ein Cookie legen und dann beim Download checken ob das Cookie gesetzt ist.
Das mit demm Cookie klingt doch nach der wirklich rundum guten Idee. Mal abgsehen davon, dass ich momentan noch absolut keine Ahnung habe, wie man das mit .htaccess macht (da ich bis eben gar nicht wusste, dass es damit auch geht), aber gut. Wozu sind denn die Ferien da. ^^
Edit: Fein. Falls wer anders über dieses Topic stolpert, weil er sich das gleiche fragt:
http://www.webpimps.com/scripts/htaccess/
Du kannst auch ein cgi schreiben, das Deinen Download served. Darin kannst du dann denn Referer checken.
Aber Linkklau ist natuerlich trotzdem moeglich. flashget zB ermoeglicht es einen beliebigen Referer zu setzen…
MoKrates
Du kannst auch ein cgi schreiben, das Deinen Download served. Darin kannst du dann denn Referer checken.
Aber Linkklau ist natuerlich trotzdem moeglich. flashget zB ermoeglicht es einen beliebigen Referer zu setzen…
Du musst sogar ein CGI schreiben, wenn du Cookies verwenden willst. Eine ZIP-Datei interessiert sich für Cookies recht wenig [img]
http://www.fb18.de/gfx/22.gif[/img]
Um das neben bei noch einmal abzuhandeln: Es gibt keine Möglichkeit, per htaccess noch ein Verbot zu setzen, wenn es keinen Referer gibt?
Warum willst Du unbedingt diesen Download verhindern?
MoKrates
Weil ich ein armer Stundent bin und Traffic teuer ist. Niemand ne Möglichkeit auf Tasch?
Ich glaube um eine Session für Deinen Besucher kommst Du nicht herum (am besten eine mit nem Fallback falls jemand Cookies deaktiviert hat). Dann solltest Du die Dateien ausserhalb des Document Root ablegen und nur per Script zugreifbar machen.
Könntest du den Link nicht Durch ein Formular tarnen dessen Ziel Du mit JavaScript ausfüllst? Den könnte man dann sogar von der Stunde am Tag abhängig machen oder so… dann wird ein externer Link dazu zumindestens erschwert.
Könntest du den Link nicht Durch ein Formular tarnen dessen Ziel Du mit JavaScript ausfüllst? Den könnte man dann sogar von der Stunde am Tag abhängig machen oder so… dann wird ein externer Link dazu zumindestens erschwert.
Naja, braucht nur einmal jemand lesen und den Link zusammensetzen und dann hilft es auch nicht mehr. Außerdem finde ich, JavaScript sollte keine Bedingung für einen Download sein.
is das nicht alles übertrieben? ich weiß zwar nicht wie aber theoretisch sollte mod_rewrite genügen um das verzeichnis zu "schützen".
hmpf jetzt bekomme ich es lokal nicht hin auch mit Ref. auf die datei zuzugreifen.
Edit:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^
http://localhostRewriteRule /* [F]
Damit klappts bei mir, der rest ist imho unfug und bietet nur marginal mehr schutz wenn es um traffic geht.
Alle, die nicht von sternenvolk.de kommen (auch die, die keinen Referer gesetzt haben) umleiten:
RewriteCond %{HTTP_REFERER} !^.*
sternenvolk.de/.*$RewriteRule ^/.*
http://url/to/hellEiner der bei dir dann downloaden will, kann dies zwar umgehen indem er den Referer exlizit setzt, aber vorher auf deine Seite zu gehen ist wohl einfacher.
Aber viel wichtiger ist doch dass es sich dann fuer andere Webmaster nicht lohnt einen Link auf deinen download zu setzen.
/jr
Großen Dank an tekai und jr, den anderen natürlich auch für die Mühe. Dann kann die CS-Maps Downloadseite jetzt kommen. %) N Limit bei 4 GB baue ich aber lieber trotzdem mal ein. :)
Irgendwas blicke ich da noch nicht. [img]
http://www.fb18.de/gfx/3.gif[/img]
Ich kann in meine .htaccess eintragen, was ich will, das scheint meinen Server aber nicht zu interessieren.
Muss ich noch irgendwas lustiges in die httpd.conf eintragen, damit .htaccess überhaupt benutzt werden?
Ich kann in meine .htaccess eintragen, was ich will, das scheint meinen Server aber nicht zu interessieren.
Muss ich noch irgendwas lustiges in die httpd.conf eintragen, damit .htaccess überhaupt benutzt werden?
Weniger etwas eintragen, als eher darauf achten, daß dort nicht sowas wie
AllowOverride None
steht.
Das hättest Du über eine einfache Suche nach "htaccess httpd.conf" aber auch selber herausfinden können. Also bitte abschreiben:
[img]
http://www.php-applications.de/answerstoyourquestions.gif[/img]
Jaja, hast Recht, ich habe die Frage nicht sonderlich schlau formuliert. Auf sowas gebe ich eigentlich auch immer blöde Antworten. [img]
http://www.fb18.de/gfx/22.gif[/img]
AllowOverride habe ich schon an allen möglichen und unmöglichen Stellen auf "All" gesetzt.
Unter "VirtualHost" habe ich auch mal sowas eingetragen:
<Directory /var/www/download/>
AllowOverride All
</Directory>
Trotzdem löppt bei mir nix, wo irgendwas mit einer .ht* vorkommt.
Ich hab mittlerweile so viel rumgedaddelt, dass ich gar nicht mehr weiss, was ich da alles gemacht habe.
So langsam ist das nämlich ins "Blindschiessen" abgedriftet.
Ich weiss noch nichtmal mehr, nach was ich wirklich fragen muss um eine Lösung zu erhalten. [img]
http://www.fb18.de/gfx/2.gif[/img]
Guck ma, ob du alle Module geladen hast. Ich hab ehrlich gesagt, nur bei einigen ne Ahnung davon, was sie konkret machen.
LoadModule access_module lib/apache2/mod_access.so
LoadModule auth_module lib/apache2/mod_auth.so
LoadModule auth_anon_module lib/apache2/mod_auth_anon.so
LoadModule auth_dbm_module lib/apache2/mod_auth_dbm.so
LoadModule auth_digest_module lib/apache2/mod_auth_digest.so
LoadModule deflate_module lib/apache2/mod_deflate.so
LoadModule ext_filter_module lib/apache2/mod_ext_filter.so
LoadModule include_module lib/apache2/mod_include.so
LoadModule log_config_module lib/apache2/mod_log_config.so
LoadModule env_module lib/apache2/mod_env.so
LoadModule mime_magic_module lib/apache2/mod_mime_magic.so
LoadModule cern_meta_module lib/apache2/mod_cern_meta.so
LoadModule expires_module lib/apache2/mod_expires.so
LoadModule headers_module lib/apache2/mod_headers.so
LoadModule usertrack_module lib/apache2/mod_usertrack.so
LoadModule unique_id_module lib/apache2/mod_unique_id.so
LoadModule setenvif_module lib/apache2/mod_setenvif.so
LoadModule mime_module lib/apache2/mod_mime.so
LoadModule dav_module lib/apache2/mod_dav.so
LoadModule status_module lib/apache2/mod_status.so
LoadModule autoindex_module lib/apache2/mod_autoindex.so
LoadModule asis_module lib/apache2/mod_asis.so
LoadModule info_module lib/apache2/mod_info.so
LoadModule cgi_module lib/apache2/mod_cgi.so
LoadModule dav_fs_module lib/apache2/mod_dav_fs.so
LoadModule vhost_alias_module lib/apache2/mod_vhost_alias.so
LoadModule negotiation_module lib/apache2/mod_negotiation.so
LoadModule dir_module lib/apache2/mod_dir.so
LoadModule imap_module lib/apache2/mod_imap.so
LoadModule actions_module lib/apache2/mod_actions.so
LoadModule speling_module lib/apache2/mod_speling.so
LoadModule userdir_module lib/apache2/mod_userdir.so
LoadModule alias_module lib/apache2/mod_alias.so
LoadModule rewrite_module lib/apache2/mod_rewrite.so
LoadModule php4_module lib/apache2/libphp4.so
Guck ma, ob du alle Module geladen hast. Ich hab ehrlich gesagt, nur bei einigen ne Ahnung davon, was sie konkret machen.
Da die Unterstützung von .htaccess zu den "Core Features" gehört, sollte das AFAIK eigentlich nicht von geladenen Modulen abhängen.
Da mjay ja sagte, daß alles korrekt eingestellt ist: Gibt es im error.log irgendwelche Fehlermeldungen? Hat die Datei .htaccess auch entsprechende Rechte, daß der apache sie lesen kann?
Zurück zu meinem Lieblingsthema. *g* Aaalso:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^
http://www.sternenvolk.de.*$ [NC]
RewriteCond %{HTTP_REFERER} !^
http://fusion.oneshell.de.*$ [NC]
RewriteCond %{HTTP_REFERER} !^
http://fusionweb.xades.de.*$ [NC]
RewriteRule .*$ - [F]
ErrorDocument 403
http://www.sternenvolk.de/nope.html ErrorDocument 404
http://www.sternenvolk.de/nope.html So, dass ist meine .htaccess. Da steht zwar einiges drin, wass jetzt gar nicht interessiert, aber so sieht die nun mal aus.
Ohne die .htaccess kann ich hier (
http://fusion.oneshell.de/maps.html) ganz normal auf das ZIP File zugreifen und es herunterladen. Mit der .htaccess Datei kommt aber ein Forbidden (sie wird also offensichtlich abgearbeitet). Wie kann das aber mit der .htaccess Datei von oben sein? Der Referer ist doch explizit freigegeben?
Ein "das kann ich mir aber auch nicht erklären", durch Personen vom Fach, würde mich auch schon beruhigen. :)
ErrorDocument 403
http://www.sternenvolk.de/nope.html RewriteEngine On
rewritecond %{http_referer} !^$
rewritecond %{http_referer} !^
http://www.Sternenolk.de RewriteCond %{HTTP_REFERER} !^
http://fusion.oneshell.deRewriteCond %{HTTP_REFERER} !^
http://fusionweb.xades.deRewriteRule .*.(map|MAP|zip|ZIP)$ - [F,L] #oder wie immer die Maps auch heißen…
1) ^x$ - match exactly "x"
2) x$ - match anything ending in "x" – equivalent to ^.*x$
3) ^x - match anything starting with "x" – equivalent to ^x.*$
Erstmal: Ich hab von dem Thema echt keine Ahnung. Laut (3) sollte es eh das gleiche sein… Hab mal das aufgeschrieben was so zu finden war und möglichst etwas anders ist ;-)
Lalala…
Thx Bobo. Die .htaccess war richtig. Der Serveradmin (*hust* ich), war bloß zu blöd 'follow symlinks' zu aktivieren…
Du haettest ruhig erwaehnen koennen, dass Du ohne mich nicht drauf gekommen waerst [img]
http://www.fb18.de/gfx/24.gif[/img]
MoKrates
Brauchst du das für dein Selbstbewusstsein? [img]
http://www.fb18.de/gfx/22.gif[/img]
Ziehst Du Deine Selbstgefaelligkeit daraus, Dich ueber die Leistungen anderer lustig zu machen?
MoKrates