Keine 0 bytes Datei an Browser senden

Alles, was den Apache betrifft, kann hier besprochen werden.

Keine 0 bytes Datei an Browser senden

Postby mireli » 23. February 2017 19:14

Hallo,
folgendes per .htaccess:
wenn Hotlinking verboten ist und ein externer Verweis weist auf eine Datei, dann speichern die Browser eine 0 bytes Datei der angefragten Datei in ihren Cache. Wenn die/der User/in auf die Webpage klickt, auf der die Datei (Bild) angezeigt werden soll, dann laden die Browser diese aus ihrem Cache, was zur Folge hat, dass kein Bild zu sehen ist, bzw. das 0 bytes File.

Im speziellen Fall kann es sein, dass hier ein vorheriges RewriteRule diese 0 bytes Datei erzeugt?
Das Hotlinking verboten, bzw. Hotlinking RewriteRule zu Webpage, muss nach diesen RewriteRules eingetragen sein.

Die Browser erzeugen gleich zwei Files der angefragten Datei. Eines mit 0 bytes und eines mit der URl aus dem Hotlinking RewriteRule.
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby Nobbie » 23. February 2017 20:31

Wie lautet die Frage?
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Keine 0 bytes Datei an Browser senden

Postby mireli » 23. February 2017 21:32

Nobbie wrote:Wie lautet die Frage?

Steht im Header ohne Fragezeichen.
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby Nobbie » 23. February 2017 23:39

Nein.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Keine 0 bytes Datei an Browser senden

Postby mireli » 25. February 2017 14:28

Nobbie wrote:Nein.

Das ist nicht gut.
Was jetzt passiert ist, dass die neue Google Bildersuche meine Bilder von meiner Webseite massenhaft hotlinked. In der Google Bildersuche sind die von Google indizierten Thumbnails zu sehen. Auf meiner Webseite keine Bilder mehr, wenn ein User von der Google Bildersuche kommt. Das fatale: Die Google Bildersuche lädt gleich mehrere Bilder in den Cache, die dann alle nicht auf meiner Webseite zu sehen sind, weil 0 bytes.

Das ist doch ein riesen Manko von Apache?
Das darf doch nicht passieren.
Wie soll man Hotlinking verbieten, wenn dann die Bilder auf der eigenen Website nicht mehr angezeigt werden, weil es diese (toten) Hotlinks auf fremden Seiten gibt? Man muss das nur mal zu Ende denken, was man damit anstellen kann. Google tut es gerade aktiv.
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby Nobbie » 25. February 2017 21:02

mireli wrote:Das ist nicht gut.


Wieso nicht?

mireli wrote:Das ist doch ein riesen Manko von Apache?


Nein.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Keine 0 bytes Datei an Browser senden

Postby Altrea » 25. February 2017 22:33

Was erwartest du? Der Browser denkt es wäre die richtige Ressource die angefragt wird.
Und wenn die Cache-Einstellungen ein Caching dieser Ressourcen zulassen, versucht der Browser das Bild natürlich nicht erneut anzufragen.

Im Endeffekt musst du wissen, was du genau erreichen willst. Es gibt ja verschiedene Gründe Hotlinking zu untersagen. Manchmal kann es auch Sinn machen Hotlinking zwar partiell zu untersagen (zum Beispiel für Google-Images), aber stattdessen dann aufs Caching für Bilder zu verzichten.

Deine Beschreibung lässt keine ausreichende Betrachtung zu, daher gibt es auch kein Patentrezept. Beschreibe viel detaillierter, dann kann man vielleicht auch andere Strategien finden dein Problem (welches wir nicht kennen) zu lösen. Vorallem wäre es auch noch hilfreich zu wissen, wie du das Hotlinking Verbot überhaupt konfiguriert hast.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Keine 0 bytes Datei an Browser senden

Postby mireli » 27. February 2017 12:12

Macht es nicht zu kompliziert. Es sollte auch nicht nur auf einem Host funktionieren, sondern allgemein.

Das mit dem Caching abfangen, indem das Caching für Bilder abgeschalten wird, ist keine optimale Lösung, weil es mehr Traffic produziert. Bzw., weil es nicht partiell für einen Referer abgeschalten werden kann, sondern wenn dann nur allgemein abgeschalten werden kann.

"Der Browser denkt es wäre die richtige Ressource die angefragt wird."
Da setze ich mal an. Wieso "denkt" der Browser, es wäre die richtige Ressource? Bzw., die Frage muss lauten, wieso denkt der Browser überhaupt, es müsse eine Ressource sein, wenn es ihm verboten ist, auf die Ressource zuzugreifen? Denn das Problem ist, wenn ein [F] oder [G] als Antwort gegeben wird, eben diese im Cache gespeichert werden. Es wird also immer irgendetwas im Browsercache gespeichert, nur nicht das Original-File, weil der Zugriff darauf untersagt ist. Vielleicht besteht eine Möglichkeit ein RewriteRule ins Nirvana anzugeben, so dass die Datei nicht im Browsercache angelegt wird?

Das Problem ist in seinem vollen Umfang schon beschrieben. Das Problem besteht darin, dass Browser bei der Abfrage einer Datei, auf die sie per Referer-Regel keinen Zugriff haben, irgendetwas als Antwort in die Datei schreiben, so dass sie existiert. Sie machen also aus der eigentlichen Datei, (die sie nicht bekommen), eine neue Datei mit selber URI und anderem Inhalt. Allein dass die Datei dann existiert, erzeugt ein Problem (wenn Caching nicht abgeschalten ist). Es benötigt also eine Funktion, die keine Antwort an den Browser gibt, so dass die Browser nichts in ihren Cache speichern. Oder eine Antwort, die sagt, dass nichts im Cache gespeichert werden soll, was wohl intelligenter wäre.

Das es sowas noch nicht gibt verwundert mich als absoluter Laie. Vielleicht haben Profis jede Menge Antworten, warum es sowas noch nicht gibt, aber das nützt einem nichts.
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby Nobbie » 27. February 2017 12:20

mireli wrote:Das es sowas noch nicht gibt verwundert mich als absoluter Laie.


Das erklärt natürlich alles. Denn Dein erster Beitrag ist eine wilde Mischung von halbgaren Begriffen und ausufernder Phantasie, was da wohl so auf dem Apache Server passieren sollte. Deswegen will Altrea (und ich auch) eigentlich genauer wissen, was Du nun konfiguriert ist, nur dann wissen wir, was wirklich passiert und was wirklich welche Ursachen hat.

Du beschreibst alles aus Sicht des Browser (Caching usw.), aber schiebst das Problem auf den Server. Wenn wir da irgendetwas erkennen sollen, müssen wir wissen, was auf dem Server geschieht. Nur zu schreiben "Hotlinking untersagen" ist hoffnungslos zu wenig und auch jetzt wieder schreibst Du nur von Browsern und von Caching. Möchtest aber, dass Apache irgendetwas anderes machen soll. Aber so lange wir nicht haarklein wissen, was Apache denn nun macht, kann auch keiner Ratschläge geben, wie man welches Problem angeht.

Fakt ist, Du rätst wildes Zeug in der Gegend herum und wir wissen nicht, was wirklich passiert. Ziemlich ist sicher ist, dass NICHT das passiert, was Du hier skizzierst - oder es hat jemand wirklich eine eigenartige Aktion eines Apache konfiguriert, aber da sind wir wieder vorne, wir wissen ja nicht, was konfiguriert ist. Nur "Hotlinking verboten" ist gar nichts, schöne Prosa, aber aus technischer Sicht unbrauchbar.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Keine 0 bytes Datei an Browser senden

Postby mireli » 27. February 2017 15:13

Ach Nobbi, was soll ich dir darauf antworten? Du musst hier nicht antworten, wenn du keine Antwort hast, oder es nicht verstehst. Dass du hier für alle sprichst, ist auch irgendwie amüsant.
Die Sache ist so einfach, dass du sie vielleicht nicht siehst?
Jetzt muss ich dir das auch noch erklären...

Auf einer fremden Webseite ist ein Link eingebunden, der auf eine Datei auf meiner Webseite verweist.
Bsp.:
https://www.example.com/bild.jpg

In meiner htaccesss wird per Referer der Zugriff auf diese Datei untersagt. (im Beispiel). Nur https://www.example.com/ darf darauf zugreifen.
Ich kann da ein [F] oder ein [G] als Flag setzen, oder auch ein [R=301] irgendwohin. Es gibt keine Funktion/Flag, dass NICHTS im Browsercache gespeichert wird, wenn jemand auf den Link klickt.
Wenn der User dann auf meine Webseite klickt, anstatt nur das bild, dass er über den Link von der fremden Webseite nicht sieht, dann sieht er es auch nicht auf der Webseite.

Hier die Übersicht der Flags:
https://httpd.apache.org/docs/current/rewrite/flags.html

Am Server ist nichts besonderes konfiguriert. Ich bin nur auf einem Sharehost.

OK, bei Google Bildersuche ist es komplizierter, weil dort gleich mehrere Dateien von meinem Host im Hintergrund in den Browsercache geladen werden, ohne dass irgendein Link angeklickt werden muss. Also gleich mehrere Fail-Files im Cache. Die werden dann natürlich angezeigt, anstatt der originalen Bilder, wenn das Caching nicht Expire... A0 hat.

Ist das verständlich, oder hast du weniger Ahnung als ich? ;)
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby mireli » 27. February 2017 15:45

OK, ich gebe eine direkte Aufgabe:

1.) Firefox öffnen

2.) Einstellungen -> Erweitert -> Zwischengespeicherte Webinhalte -> Jetzt leeren

3.) neuen Tab öffnen und "about:cache" in der Adresszeile einfügen.

4.) disk -> "List Cache Entries" anklicken

5.) neuen Tab öffnen

6.) Gehe zu https://www.google.de/imghp

7.) Suchstring eingeben: site:pixabay.com

8.) klicke eines der Vorschaubilder

9.) schaue in den disk-cache und suche nach imagefiles von pixabay mit 0 bytes.

10.) jetzt wirds etwas kompliziert, weil FF die Links nicht öffnet.
-> Link eines pixabay image 0 bytes kopieren und im neuen Tab öffnen
Inhalt:
"response-head: HTTP/1.1 302 Moved Temporarily"

Dieses File bleibt im Browsercache gespeichert. Wenn der User auf die Webpage klickt, also sich nicht nur das Bild blank anzeigen lassen will, was eh nicht geht, wird das Bild in der Webpage nicht angezeigt, weil dieses 0 bytes File aus dem Browsercache geladen wird. OK, bei pixabay ist das nicht so, da die das laden aus dem Browsercache wohl abgeschalten haben, oder irgendwas anders vorgenommen haben. Pixabay hat auch ein RewriteRule eingerichtet, dass vom image-direct-link zur webpage leitet.

Um diese 0 bytes Files geht es hier.
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby Altrea » 27. February 2017 16:05

mireli wrote:Du musst hier nicht antworten, wenn du keine Antwort hast, oder es nicht verstehst.

Dann belasse ich es auch dabei und wünsche dir weiterhin viel Glück.
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11926
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64

Re: Keine 0 bytes Datei an Browser senden

Postby Nobbie » 27. February 2017 16:42

mireli wrote:Ach Nobbi, was soll ich dir darauf antworten?


Gar nichts. Mich interessiert Dein dümmliches Getrolle nicht mehr, das sind Deine Hirngespinste und Probleme, nicht meine.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Re: Keine 0 bytes Datei an Browser senden

Postby mireli » 27. February 2017 21:17

Es ist schon sehr verwunderlich, wie Leute reagieren, wenn Sie auf ein Problem keine Lösung haben.
Es ist doch ein Apache-Problem, nicht eures.
Man muss sich nur mal vorstellen, was man damit anstellen kann.
zB alle Bildlinks der Konkurrenzseite im Hintergrund laden (wenn diese Hotlinking verbietet und die Browser Fail-Files im Cache speichern). zack, Browsercache voll mit Fail-Files. Klickt der User auf die Konkurrenzseite, verlässt er diese wieder schnell, weil es da keine Bilder (mehr) zu sehen gibt. Damit das mit den Deadlinks auch funktioniert, am besten vorher massenweise Bilder der Konkurrenz auf einer internen Seite laden, die keiner weiter sieht, ausser man selbst, aber ständig neu lädt, damit die Konkurrenz den Traffic bemerkt. Hat soweit noch keiner gedacht? Nee, weil das was ich gerade erklärt habe macht ja keiner... außer Google jetzt im ganz großen Stil. Aber Google ist ja nicht böse, sondern ich, der das Problem hat... Das Problem sehe ich aber eher bei Apache, weil Apache dieses Problem ermöglicht.
mireli
 
Posts: 9
Joined: 23. February 2017 19:02
XAMPP version: 5.5.9
Operating System: Linux

Re: Keine 0 bytes Datei an Browser senden

Postby Nobbie » 27. February 2017 21:26

mireli wrote:Es ist schon sehr verwunderlich, wie Leute reagieren, wenn Sie auf ein Problem keine Lösung haben.


Wie wahr. Aber hier bekommst Du keine Hilfe mehr beim Lösen Deiner Probleme. Suche Dir ein anderes Forum, wir haben hier doch sowieso keine Ahnung, wo ist denn das Problem? Tschö.
Nobbie
 
Posts: 13170
Joined: 09. March 2008 13:04

Next

Return to Apache

Who is online

Users browsing this forum: No registered users and 37 guests