SuSE 10.2, apache2, mod_rewrite
Servus Zusammen, ich hab in meinen apachen folgenden Rewrite eingetragen: RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www\.sld\.tld [NC] RewriteRule \.(jpe?g|gif)$ - [F] damit keine Bilder mehr von anderen Seiten aus verlinkt werden können. Leider funktioniert es nicht, ich habe diesen Code auch mehrfach im Web so gefunden und ich denke er paßt auch zu der Beschreibung ... http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html http://httpd.apache.org/docs/2.2/rewrite/rewrite_guide.html Hat jemand das mod_rewrite funktionierend in Betrieb? Gruß Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Daniel, Daniel Bauer wrote:
Servus Zusammen,
ich hab in meinen apachen folgenden Rewrite eingetragen:
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www\.sld\.tld [NC] RewriteRule \.(jpe?g|gif)$ - [F]
Ich bin mir nicht sicher ob es etwas mit den Versionen zu tun hat. Ich hatte auch einige mühe dies zum laufen zu bringen, genau sagen wie du es machen musst, kann ich auch nicht. Hier aber eine konfig wie sie bei mir auf 10.2 und apache2 läuft. RewriteEngine on RewriteRule ^/ http://www.%{SERVER_NAME}%{REQUEST_URI} [R] ist allerdings nicht für den selben Zweck, ev. hilft's dir. (Diese Konfig leitet den gesammten traffic um) -- Gruss Thomas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Daniel, Daniel Bauer schrieb:
Servus Zusammen,
ich hab in meinen apachen folgenden Rewrite eingetragen:
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www\.sld\.tld [NC] RewriteRule \.(jpe?g|gif)$ - [F]
hier ein Beispiel zum "verhindern" der Downloads. Ich habs grad auchnur kopiert und weiß noch nicht ob es funktioniert!!! http://www.aboutwebdesign.de/awd/content/1042302787.shtml Beispiel 3 Und dieser Code verhindert, dass andere Sites Bilder von Ihrem Server direkt einbinden: RewriteCond %{HTTP_REFERER} !^http://ihr-server.de RewriteCond %{HTTP_REFERER} !^http://www.ihr-server.de RewriteCond %{REQUEST_URI} !^.+ban_image.+$ RewriteRule ^.+\.(gif|GIF|jpg|JPG|jpeg|JPEG)$ http://www.ihr-server.de/ban-image.gif [redirect,last] ban-image.gif ist die Datei, die angezeigt wird, wenn dennoch eine direkte Einbindung versucht wird. Ein großes Stoppschild wäre hier angemessen. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Mittwoch, 16. Januar 2008 schrieb Daniel Bauer:
Servus Zusammen,
ich hab in meinen apachen folgenden Rewrite eingetragen:
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www\.sld\.tld [NC] RewriteRule \.(jpe?g|gif)$ - [F]
damit keine Bilder mehr von anderen Seiten aus verlinkt werden können. Leider funktioniert es nicht, ich habe diesen Code auch mehrfach im Web so gefunden und ich denke er paßt auch zu der Beschreibung ...
Das ist eigentlich nicht so schwer: 1.) Bilder, etc., in ein eigenes Verzeichnis. Bspw. /images/myimage.png 2.) /etc/apache2/vhosts.d/anyhost.conf sollte so etwas enthalten: <VirtualHost 192.168.0.7> # Die IP ist hier ja nur ein Beispiel ... ServerName www.myserver.com ... SetEnvIf Referer "www.myserver.com" localImageFiles <Location /images> order deny,allow deny from all allow from env=localImageFiles </Location> ... </VirtualHost> Das funktioniert prima. Erst definiert man sich irgendeine Variable (localimagefiles) , dann verwehrt man gundsätzlich jeden Zugriff auf das Verzeichnis, das die Bilder, etc. enthält und erlaubt den Zugriff explizit nur, wenn der Zugriff über diese Variable als "Referer" der eigenen Website erkannt wird.
http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html http://httpd.apache.org/docs/2.2/rewrite/rewrite_guide.html
Hat jemand das mod_rewrite funktionierend in Betrieb?
Gruß Daniel
-- mit freundlichen Grüßen Christoph Graulich -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Christoph Graulich schrieb:
Das ist eigentlich nicht so schwer: 1.) Bilder, etc., in ein eigenes Verzeichnis. Bspw. /images/myimage.png
2.) /etc/apache2/vhosts.d/anyhost.conf sollte so etwas enthalten:
<VirtualHost 192.168.0.7> # Die IP ist hier ja nur ein Beispiel ... ServerName www.myserver.com ... SetEnvIf Referer "www.myserver.com" localImageFiles <Location /images> order deny,allow deny from all allow from env=localImageFiles </Location> ... </VirtualHost>
Das funktioniert prima. Erst definiert man sich irgendeine Variable (localimagefiles) , dann verwehrt man gundsätzlich jeden Zugriff auf das Verzeichnis, das die Bilder, etc. enthält und erlaubt den Zugriff explizit nur, wenn der Zugriff über diese Variable als "Referer" der eigenen Website erkannt wird. ....
Das ist ja gut und schön, nur was ist wenn man ein "Hostinggast" ist. Sprich Deine Lösung, so clever wie sie ist, funktioniert nur, wenn man selber Zugriff auf die Config des Servers hat, oder hab ich da was falsch verstanden ?? -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 16. Januar 2008 schrieb Axel Birndt:
[...]
Das ist ja gut und schön, nur was ist wenn man ein "Hostinggast" ist. Sprich Deine Lösung, so clever wie sie ist, funktioniert nur, wenn man selber Zugriff auf die Config des Servers hat, oder hab ich da was falsch verstanden ??
Du hast recht. Ich hatte dem Betreff: "suse 10.2, apache2 ..." entnommen, dass es sich nicht um einen Hostinggast handelt. -- mit freundlichen Grüßen Christoph Graulich -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Christoph Graulich schrieb:
Du hast recht. Ich hatte dem Betreff: "suse 10.2, apache2 ..." entnommen, dass es sich nicht um einen Hostinggast handelt.
Kein Thema :-) (Habs auch nur deshalb geschrieben, weil mich die Rewrite Lösung auch interessieren würde. Hatte leider noch keine Zeit die Lösung zu testen. Evtl. hat ja auch schon jemand mit dem mod_rewrite ein Ergebnis erzielt? Gruß Axel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mittwoch, 16. Januar 2008 schrieb Axel Birndt:
Christoph Graulich schrieb:
Du hast recht. Ich hatte dem Betreff: "suse 10.2, apache2 ..." entnommen, dass es sich nicht um einen Hostinggast handelt.
Kein Thema :-) (Habs auch nur deshalb geschrieben, weil mich die Rewrite Lösung auch interessieren würde. Hatte leider noch keine Zeit die Lösung zu testen.
Evtl. hat ja auch schon jemand mit dem mod_rewrite ein Ergebnis erzielt?
Wobei, es sollte möglich sein, diese Konfiguration auch in der .htaccess abzulegen. Es kommt darauf an, was der Admin in seiner AllowOverride-Direktive für den Benutzer freigegeben hat. Ich vermeide .htaccess Konfigurationen, weil die bei jedem Request abgearbeitet werden müssen. Das macht den Webserver etwas langsamer. -- mit freundlichen Grüßen Christoph Graulich -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Christoph, hallo Axel, From: "Christoph Graulich"
Am Mittwoch, 16. Januar 2008 schrieb Axel Birndt:
Christoph Graulich schrieb:
Du hast recht. Ich hatte dem Betreff: "suse 10.2, apache2 ..." entnommen, dass es sich nicht um einen Hostinggast handelt.
Kein Thema :-) (Habs auch nur deshalb geschrieben, weil mich die Rewrite Lösung auch interessieren würde. Hatte leider noch keine Zeit die Lösung zu testen.
Evtl. hat ja auch schon jemand mit dem mod_rewrite ein Ergebnis erzielt?
Wobei, es sollte möglich sein, diese Konfiguration auch in der .htaccess abzulegen. Es kommt darauf an, was der Admin in seiner AllowOverride-Direktive für den Benutzer freigegeben hat. Ich vermeide .htaccess Konfigurationen, weil die bei jedem Request abgearbeitet werden müssen. Das macht den Webserver etwas langsamer.
zunächst vielen Dank für die Antworten. Nein, ich bin kein Hostinggast und kann die Config ändern, aber IMHO müßte ich das ja wohl auch für die Rewrite machen können. Das Beispiel von Axel dürfte dem meinigen ziemlich entsprechen, aber ich sehe in den Logs, das der Referer ankommt und trotzdem nicht "aussortiert" wird. Ich denke ich übersehe irgend eine Kleinigkeit. Evtl. die Positionierung in den Configs? Die Methode von Christoph ist auch schön, aber ein Browser, der den Referer nicht überträgt, erhält somit auch keine Bilder mehr. Außerdem wollte ich das mächtige Rewrite Modul kennenlernen ... Grüße Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Daniel, Daniel Bauer schrieb:
Hallo Christoph, hallo Axel,
Das Beispiel von Axel dürfte dem meinigen ziemlich entsprechen, aber ich sehe in den Logs, das der Referer ankommt und trotzdem nicht "aussortiert" wird.
Ich denke ich übersehe irgend eine Kleinigkeit. Evtl. die Positionierung in den Configs?
Die Methode von Christoph ist auch schön, aber ein Browser, der den Referer nicht überträgt, erhält somit auch keine Bilder mehr. Das ist auch noch ein Problem, wo ich noch nicht weiß, wie ich es lösen soll. In so einem Fall würde ich gern einen Text über das Bild legen, wo ich ausgebe, das der Referrer doch bitte eingeschaltet werden soll, oder bitte schön direkt ins Album gewechselt werden sollte. (Das könnte ja ein transparentes gif sein :-) )
Aber dazu habe ich leider noch nix gefunden... Gruß Axel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
From: "Axel Birndt"
Das Beispiel von Axel dürfte dem meinigen ziemlich entsprechen, aber ich sehe in den Logs, das der Referer ankommt und trotzdem nicht "aussortiert" wird.
Ich denke ich übersehe irgend eine Kleinigkeit. Evtl. die Positionierung in den Configs?
Die Methode von Christoph ist auch schön, aber ein Browser, der den Referer nicht überträgt, erhält somit auch keine Bilder mehr. Das ist auch noch ein Problem, wo ich noch nicht weiß, wie ich es lösen soll. In so einem Fall würde ich gern einen Text über das Bild legen, wo ich ausgebe, das der Referrer doch bitte eingeschaltet werden soll, oder bitte schön direkt ins Album gewechselt werden sollte. (Das könnte ja ein
Daniel Bauer schrieb: transparentes gif sein :-) )
Aber dazu habe ich leider noch nix gefunden...
nun das geht mit Christophs Methode. Das Bild einfach nicht als Stop- sondern als Hinweisschild machen ... Ich möchte es aber definitiv nicht fordern, den Referer unbedingt anzugeben, die meisten machen es eh .... Das rewrite Modul ist einfach sehr mächtig, und ich würde es gerne kapieren ;) Man kann damit ja nicht nur Bilder, sondern auch andere Dinge modifizieren ... Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Donnerstag, 17. Januar 2008 schrieb Daniel Bauer:
[...] Das rewrite Modul ist einfach sehr mächtig, und ich würde es gerne kapieren ;) Man kann damit ja nicht nur Bilder, sondern auch andere Dinge modifizieren ...
Das klingt für mich schon sehr nach dynamischen Inhalten? Falls ja, würde ich dann eher auf ein umfassenderes Framework (bspw. Java, Servlets, JSP, Struts, Ajax, ... ) ausweichen. Beim unerwünschten Fremdzugriff geht es überwiegend darum, Trafic zu vermeiden. Warum sollte man dann eine Grafik durch eine andere ersetzen? Text verursacht (i.d.R.) den geringsten Trafic. Und das mod_rewrite Modul bringt einen in den Dschungel der Regurären Ausdrücke. Sinnvoll könnte es bspw. dann sein, wenn eine Website ihre Struktur nebst ihrer URL änderte (t-com vs. t-home). -- mit freundlichen Grüßen Christoph Graulich -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
From: "Christoph Graulich"
Am Donnerstag, 17. Januar 2008 schrieb Daniel Bauer:
[...] Das rewrite Modul ist einfach sehr mächtig, und ich würde es gerne kapieren ;) Man kann damit ja nicht nur Bilder, sondern auch andere Dinge modifizieren ...
Das klingt für mich schon sehr nach dynamischen Inhalten? Falls ja, würde ich dann eher auf ein umfassenderes Framework (bspw. Java, Servlets, JSP, Struts, Ajax, ... ) ausweichen.
Beim unerwünschten Fremdzugriff geht es überwiegend darum, Trafic zu vermeiden. Warum sollte man dann eine Grafik durch eine andere ersetzen? Text verursacht (i.d.R.) den geringsten Trafic. Und das mod_rewrite Modul bringt einen in den Dschungel der Regurären Ausdrücke. Sinnvoll könnte es bspw. dann sein, wenn eine Website ihre Struktur nebst ihrer URL änderte (t-com vs. t-home).
derzeit geht es wirklich nur darum den Traffic im RZ zu begrenzen, da ich diesen "teuer" bezahlen muß ... Aber bei meiner Strukturänderung hätte mir das ganze auch ein wenig geholfen ... Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo Daniel, Daniel Bauer wrote:
Hallo Christoph, hallo Axel,
From: "Christoph Graulich"
Am Mittwoch, 16. Januar 2008 schrieb Axel Birndt:
Christoph Graulich schrieb: Ich denke ich übersehe irgend eine Kleinigkeit. Evtl. die Positionierung in den Configs?
Hast du denn das Modul auch geladen? /etc/sysconfig/apache2 APACHE_MODULES="rewrite actions alias ........... Die Position spielt keine rolle.
Außerdem wollte ich das mächtige Rewrite Modul kennenlernen ...
Grüße Daniel
-- Gruss Thomas -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hi Thomas, From: "Thomas Fankhauser"
Daniel Bauer wrote:
From: "Christoph Graulich"
Am Mittwoch, 16. Januar 2008 schrieb Axel Birndt:
Christoph Graulich schrieb: Ich denke ich übersehe irgend eine Kleinigkeit. Evtl. die Positionierung in den Configs?
Hast du denn das Modul auch geladen? /etc/sysconfig/apache2 APACHE_MODULES="rewrite actions alias ........... Die Position spielt keine rolle.
ja das Modul ist geladen, sonst meckert der apache auch gleich beim Start ... Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Mi, 16.01.2008, 21:12, schrieb Axel Birndt:
Kein Thema :-) (Habs auch nur deshalb geschrieben, weil mich die Rewrite Lösung auch interessieren würde. Hatte leider noch keine Zeit die Lösung zu testen.
http://strcat.de/blog/archives/542-lart1-fuer-Pic-Diebe-antihotlinking.html Grüße, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Servus Christian, From: "Christian Brabandt"
Am Mi, 16.01.2008, 21:12, schrieb Axel Birndt:
Kein Thema :-) (Habs auch nur deshalb geschrieben, weil mich die Rewrite Lösung auch interessieren würde. Hatte leider noch keine Zeit die Lösung zu testen.
http://strcat.de/blog/archives/542-lart1-fuer-Pic-Diebe-antihotlinking.html
wie schon geschrieben habe: RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www\.sld\.tld [NC] RewriteRule \.(jpe?g|gif)$ - [F] den Code habe ich mehrfach über die Apache Seiten und übers Web gecheckt und jeder kommt zu dem selben Ergebnis. Aber warum läuft er bei mir nicht? Daniel -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Do, 17.01.2008, 11:32, schrieb Daniel Bauer:
From: "Christian Brabandt"
http://strcat.de/blog/archives/542-lart1-fuer-Pic-Diebe- antihotlinking.html
wie schon geschrieben habe:
RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www\.sld\.tld [NC] RewriteRule \.(jpe?g|gif)$ - [F]
den Code habe ich mehrfach über die Apache Seiten und übers Web gecheckt und jeder kommt zu dem selben Ergebnis. Aber warum läuft er bei mir nicht?
Setze Mal RewriteLog und RewriteLogLevel und dann schau dir das Logfile an. Grüße, Christian -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (5)
-
Axel Birndt
-
Christian Brabandt
-
Christoph Graulich
-
Daniel Bauer
-
Thomas Fankhauser