Steve: URL-Zugriff von anderer Domain (Apache)

Hallo nochmal an alle,
na Klasse, nachdem nun mein Posting nicht nur bereits am zweiten Tage in´s Archiv verschwand, ist es dort auch prompt gelöscht worden ;-(

Nun also nochmal:
Ich würde gerne unterbinden, dass man per Link von anderen Seiten
meine (z.B. http://meinedomain.de/pribat/privat.htm) direkt aufrufen kann, dass heißt, dass ein Aufruf bei bestimmten Seiten/Directories nur von meiner Domain/über meine Domain zugelassen wird.

Ich benutze einen Apache 2.039.
Die Art der Lösung ist mir relativ gleich, ob oer virtual Host (das heißt, dass dann alle direkten Zugriffe auf die Domain) geblockt werden oder ob das durch eine .htaccess-Datei oder ähnliches geschieht.

Ich wäre für jede Lösung sehr dankbar !
Gruß, Steve

  1. Ich würde gerne unterbinden, dass man per Link von anderen Seiten
    meine (z.B. http://meinedomain.de/pribat/privat.htm) direkt aufrufen kann, dass heißt, dass ein Aufruf bei bestimmten Seiten/Directories nur von meiner Domain/über meine Domain zugelassen wird.

    Such mal per Google nach "mod_rewrite", schon einer der ersten Links sollte das Original-Tutorial von Ralf Engelschall sein, da steht ein Beispiel drin, wie man es bei .gif-Dateien macht. Ist leicht anzupassen.

    1. That´s it !!!
      Danke vielmals ! Ein wenig kompliziert, aber es hat auch keiner verlangt, dass es einfach sein soll ;-)

      Danke nochmal, ich werde da schon durchsteigen.
      Zumindest ist es genau das, was ich suchte.
      Gruß, Steve

      Such mal per Google nach "mod_rewrite", schon einer der ersten Links sollte das Original-Tutorial von Ralf Engelschall sein, da steht ein Beispiel drin, wie man es bei .gif-Dateien macht. Ist leicht anzupassen.

    2. Hi,

      Ich würde gerne unterbinden, dass man per Link von anderen Seiten
      meine (z.B. http://meinedomain.de/pribat/privat.htm) direkt aufrufen
      kann, dass heißt, dass ein Aufruf bei bestimmten Seiten/Directories
      nur von meiner Domain/über meine Domain zugelassen wird.

      Such mal per Google nach "mod_rewrite", schon einer der ersten Links
      sollte das Original-Tutorial von Ralf Engelschall sein, da steht ein
      Beispiel drin, wie man es bei .gif-Dateien macht. Ist leicht anzupassen.

      das Beispiel "Blocked Inline-Images" im "URL rewriting guide" von Apache
      arbeitet aber mit dem HTTP_REFERER - und wie unzuverlässig der ist, wissen
      wir doch alle ...

      Viele Grüße
            Michael

      1. Hmm... ich weiß es nicht, ich weiß auch nicht WIE unzuverlässig er ist, aber es muss nicht besonders sicher sein.
        Es würde mir vollkommen reichen, wenn man größtenteils davon ausgehen kann, dass die Seiten nicht von zig-anderen direkt aufgerufen werden können.
        Gibt es denn sonst noch eine andere Möglichkeite ?

        Danke erst mal schon,
        Steve

        das Beispiel "Blocked Inline-Images" im "URL rewriting guide" von Apache
        arbeitet aber mit dem HTTP_REFERER - und wie unzuverlässig der ist, wissen
        wir doch alle ...

        Viele Grüße
              Michael

      2. Sagt mal... ginge das eigentlich nicht auch per .htaccess und damit noch viel einfacher...?
        Ist wahrscheinlich eine blöde Frage, oder...?

        1. Hi,

          Sagt mal... ginge das eigentlich nicht auch per .htaccess und damit
          noch viel einfacher...?
          Ist wahrscheinlich eine blöde Frage, oder...?

          das Problem ist, daß Du nicht unterscheiden kannst, wer eine Seite haben
          will. Das einzige, was innerhalb eines HTTP-Requests über die Einbindung
          Deiner Datei mitgesendet wird, ist eben der Referrer - und diesen zu
          senden ist aus zahlreichen Gründen eben für den Surfer nicht wünschens-
          wert. Also wird er versuchen, es zu verhindern - und dafür hat er eine
          Menge Möglichkeiten.

          Egal, mit welcher serverseitigen Intelligenz Du eine Entscheidung fällen
          möchtest (.htaccess _ist_ die Möglichkeit, den mod_rewrite-Mechanismus
          einzusetzen), es bleibt doch das Problem, überhaupt die Information zu
          bekommen, welche für die Entscheidung ausgewertet werden muß.

          Natürlich kannst Du Deine gesamte Site zugriffskontrollieren und _dann_
          verhindern, daß jemand ohne Zugangsmöglichkeit Deine Bilder nutzen kann

          • aber wäre das den Preis wert?

          Du könntest beispielsweise mit Session-Cookies arbeiten - in diesem
          Fall sendet Dir der Browser eines Besuchers eine Information, die er
          nur von Dir haben kann (wenn Du den Cookie-Inhalt so verschlüsseln
          kannst, daß nur Du ihn auf Konsistenz prüfen kannst). Aber wie beim
          Referer müßte der Browser des Besuchers mitspielen - das ist das Problem.

          Für Intranet-Lösungen wäre beides durchaus praktikabel - wenn Du dort
          Kontrolle über die Browser der Besucher hast. Im WWW hast Du sie nicht.

          Viele Grüße
                Michael

          1. Danke vielmals nochmal !
            Es geht eigentlich nur um Hochzeits-Bilder (nicht meine ;-) )
            die nicht von überall her verlinkt werden sollen.
            Das mit dem .htaccess klingt sehr gut, was der Besucher in DIESEM Fall bei den Hochzeits-Bildern macht, ist mir vollkommen (sorry) egal. Wenn er sie sehen will, muss er sich halt fügen und seine EInstellungen dementsprechend anpassen.

            Da ich nicht so sonderlich intelligent bin und eigentlich auch keine Ahnung von der Sache habe (ich bin schon stolz, dass ich VirtualHosts hinbekommen habe) werde ich mich mal auf die Suche nach einer entsprechenden .htaccess-Datei machen - daran kann ich mich dann meíst orientieren und werde dann auch schon zum Ziel finden.

            Was mir Sorge macht, sind die Einstellungen, die man wahrscheinlich für das mod_rewrite vornehmen muss...
            Da ist es wohl nicht getan, einige Einstellungen in der http.conf-Datei für einen bestimmten Host vorzunehmen und die .htaccess-Datei dementsprechend anzupassen.

            Aber ich werde schon was finden ;-)
            Für die VirtualHostst habe ich fast 3 Monate gebraucht ;-)

            Danke für die große Hilfe,
            Steve

            das Problem ist, daß Du nicht unterscheiden kannst, wer eine Seite haben
            will. Das einzige, was innerhalb eines HTTP-Requests über die Einbindung
            Deiner Datei mitgesendet wird, ist eben der Referrer - und diesen zu
            senden ist aus zahlreichen Gründen eben für den Surfer nicht wünschens-
            wert. Also wird er versuchen, es zu verhindern - und dafür hat er eine
            Menge Möglichkeiten.

            Egal, mit welcher serverseitigen Intelligenz Du eine Entscheidung fällen
            möchtest (.htaccess _ist_ die Möglichkeit, den mod_rewrite-Mechanismus
            einzusetzen), es bleibt doch das Problem, überhaupt die Information zu
            bekommen, welche für die Entscheidung ausgewertet werden muß.

            Natürlich kannst Du Deine gesamte Site zugriffskontrollieren und _dann_
            verhindern, daß jemand ohne Zugangsmöglichkeit Deine Bilder nutzen kann

            • aber wäre das den Preis wert?

            Du könntest beispielsweise mit Session-Cookies arbeiten - in diesem
            Fall sendet Dir der Browser eines Besuchers eine Information, die er
            nur von Dir haben kann (wenn Du den Cookie-Inhalt so verschlüsseln
            kannst, daß nur Du ihn auf Konsistenz prüfen kannst). Aber wie beim
            Referer müßte der Browser des Besuchers mitspielen - das ist das Problem.

            Für Intranet-Lösungen wäre beides durchaus praktikabel - wenn Du dort
            Kontrolle über die Browser der Besucher hast. Im WWW hast Du sie nicht.

            Viele Grüße
                  Michael

            1. Hi Steve,

              was der Besucher in DIESEM Fall bei den Hochzeits-Bildern macht,
              ist mir vollkommen (sorry) egal. Wenn er sie sehen will, muss er
              sich halt fügen und seine EInstellungen dementsprechend anpassen.

              das kann er nicht! Es sind nicht (nur) _seine_ Einstellungen, die
              darüber entscheiden, ob er einen Referrer sendet!
              Es sind üblicherweise Entscheidungen des Betreibers eines Rechners,
              von dessen Existenz Dein Besucher noch nicht mal eine Ahnung hat.

              Was mir Sorge macht, sind die Einstellungen, die man wahrscheinlich
              für das mod_rewrite vornehmen muss...

              Genau dafür muß Dein Besucher _nichts_ einstellen - mod_rewrite ist
              eine Apache-Funktion, die auf Deinem Server statt findet.
              Aber ob diese Funktion überhaupt etwas vorfindet, das auszuwerten sich
              lohnt, das ist eben nicht sichergestellt.

              Da ist es wohl nicht getan, einige Einstellungen in der http.conf-
              Datei für einen bestimmten Host vorzunehmen und die .htaccess-Datei
              dementsprechend anzupassen.

              Doch, genau das müßtest Du machen, um die entsprechende Information
              auzsuwerten. Nur hast Du diese Information eben nicht zuverlässig ...

              Aber ich werde schon was finden ;-)
              Für die VirtualHostst habe ich fast 3 Monate gebraucht ;-)

              ... und es gibt _nichts_, was Du tun könntest, um sie jemals zuver-
              lässig zu erhalten. Und auch Dein Besucher kann nichts tun, um diese
              Information in _jedem_ Falle zuverlässig zu senden.

              Viele Grüße
                     Michael

              P.S.: http://learn.to/quote

              1. Hallo nochmal.
                Somit hat sich dann wohl vorerst das ganze erledigt,
                bis festgestellt ist, was bei den Usern mitgesendet wird.
                Da es (meiner Meinung nach) möglich sein muss, den Zugriff auf die Dateien über einen Server laufen zu lassen der die benötigten Daten mitsendet, sollte das eigentlich nicht so ein Problem sein.

                Werde mich da weiterhin schlau machen.
                Vielen Dank aber für die Mühe !!!

                P.S.: http://learn.to/quote

                *grummel* jaaaa, hast ja recht. Aber meine Beiträge verschwanden immer spurlos aus dem Forum, und da habe ich immer brav gepostet.
                Sorry.

                Gruß, Steve

    3. Das mit dem mod_rewrite klingt recht gut, ich habe nun hier erfahren, dass das mit .htacces gemacht wird.
      Die Module habe ich nun bei Start von Apache mitgeladen.
      Jetzt habe ich aber 2 Textfelder in der Beschreibung von Engelschnall:

      RewriteCond %{HTTP_REFERER} !^$
      RewriteCond %{HTTP_REFERER} !^http://www.quux-corp.de/~quux/.*$ [NC]
      RewriteRule .*.gif$        -                                    [F]

      RewriteCond %{HTTP_REFERER}         !^$
      RewriteCond %{HTTP_REFERER}         !.*/foo-with-gif.html$
      RewriteRule ^inlined-in-foo.gif$   -                        [F]

      Wo sollen die nur hin ?
      Die obere in die .htaccess und die untere ... wohin ?
      Wäre lieb, wenn mir das noch einmal jemand sagen könnte, den Rest versuche ich dann auch von alleine.
      Danke.

      Ich würde gerne unterbinden, dass man per Link von anderen Seiten
      meine (z.B. http://meinedomain.de/pribat/privat.htm) direkt aufrufen kann, dass heißt, dass ein Aufruf bei bestimmten Seiten/Directories nur von meiner Domain/über meine Domain zugelassen wird.

      Such mal per Google nach "mod_rewrite", schon einer der ersten Links sollte das Original-Tutorial von Ralf Engelschall sein, da steht ein Beispiel drin, wie man es bei .gif-Dateien macht. Ist leicht anzupassen.

      1. Hi,

        RewriteCond %{HTTP_REFERER}         !^$
        RewriteCond %{HTTP_REFERER}         !.*/foo-with-gif.html$
        RewriteRule ^inlined-in-foo.gif$   -                        [F]

        Bist Du Dir überhaupt bewußt, was diese Direktiven
        bewirken und wie Du sie an Deine Anforderungen
        anpassen mußt?

        Wo sollen die nur hin ?
        Die obere in die .htaccess und die untere ... wohin ?

        Auch dorthin, natürlich. Falls Du beides brauchst.

        Viele Grüße
              Michael