Ralf N.: Zugriffschutz per .htaccess aber IP basierend auf Referer?

Hallo zusammen,

langsam verzweifel ich wirklich. Ich bekomme es nicht hin einen Verzeichnisschutz wie folgt einzurichten:

Zugriff auf Content erfolgt über Server mit IP: 123.456.789.000
Content liegt auf Server: 666.666.666.666

Benutze ich die direkte Direktrive Allow From XXX.XXX spricht das ja auf die IP des Clients an (sprich den Besucher der Seite... also einkommende IP).

Ich brauche aber eine Lösung wie ich den Server "öffne" für X Leute die Von SERER 123.456.789.000 quasi als Referer kommen ..

Der direkte Zugriff soll einfach Untersagt werden.

Leider probiere ich schon seit Wochen rum und ich komme einfach nicht weiter.

Wie kann ich den Zugriffschutz auf Grundlage eines Referrers einrichten?

Danke Euch für Tips & Tricks

  1. hi,

    Ich brauche aber eine Lösung wie ich den Server "öffne" für X Leute die Von SERER 123.456.789.000 quasi als Referer kommen ..

    SetEnvIfNoCase Referer 'string' variable=x

    und dann

    <files ~ "a.html|b.html">
    Allow from env=variable
    </files>

    So ungefär.

    Horst

    1. Hi Horst,

      damit spiele ich schon die ganze Zeit rum :(

      SetEnvIfNoCase Referer "www.domain.com" b2k=$1
      Order deny,allow
      Deny from All
      Allow from env=b2k

      oder
      SetEnvIfNoCase Referer "www.domain.com" b2k=$1
      Order deny,allow
      Deny from All
      Allow from env=b2k

      geht beides nicht .. :(

      1. hi,

        damit spiele ich schon die ganze Zeit rum :(

        SetEnvIfNoCase Referer "www.domain.com" b2k=$1

        Ich sehe nirgendwo ne Klammer. Da ist in $1 auch nichts drin.

        => Klammer setzen.

        Hprst

        1. Auch wenn ich die url in eine klammer packe geht es nicht:

          SetEnvIfNoCase Referer "(www.domain.com)" b2k=$1
          Order deny,allow
          Deny from All
          Allow from env=b2k

          Und ich bin auch langsam edcht richtig "durch" und weiss vor lauter möglichkeiten nicht mehr welche Schreibweisen jetzt richtig sind.
          Wenn ich im Web recherchiere - schreibt der eine - mit klammer... der andere ohne. Der eine schreibt die Domain mit \ der andere ohne..

          Wäre echt dankbar wenn du mir ein funktionierendes Beispiel nennen könntest .

          Gruss Ralf

          hi,

          damit spiele ich schon die ganze Zeit rum :(

          SetEnvIfNoCase Referer "www.domain.com" b2k=$1

          Ich sehe nirgendwo ne Klammer. Da ist in $1 auch nichts drin.

          => Klammer setzen.

          Hprst

          1. hi,

            Wäre echt dankbar wenn du mir ein funktionierendes Beispiel nennen könntest

            #SetEnvIfNoCase Referer ^$       local_ref=1
            #SetEnvIfNoCase Referer rolfrost local_ref=1
            #<files ~ ".(gif|jpg)$">

            ErrorDocument 403 /cgi-bin/show.cgi?imgred

            ErrorDocument 404 /cgi-bin/show.cgi?imgred

            Order Allow,Deny

            Allow from env=local_ref

            #</files>

            Ist z.Z. außer Betrieb, funktioniert jedoch einwandfrei. Nur malso nebenbei: Du musst nichts klammern, weise der Variablen einen festen Wert zu und gut. Und nimm Dir mal Zeit für das Facküng Mänuela.

            Vieße Grüle,
            Horst

            --
            Wir machen Geschichte! Deswegen werden wir auch nicht in Bronze gegossen.
            1. Hallo Horst,

              wenn ich dein Beispiel jetzt richtig verstehe deklarierst du die Variable mit ^$ und setzt sie auf 1.

              Bei der nächsten Zeile gibst du an: Referer mit inhalt "rolfrost" auch auf 1 setzen.

              Über die direktrive schränkst du ja den zugriff auf files wie .gif .jpg ein und gibts im falle eines anderen referers imgred aus.

              so verstehe ich das zumindest.

              Ich habe es jetzt wie folgt umgebaut:

              SetEnvIf Referer ^$       b2k_ref=1
              SetEnvIf Referer meinedomain b2k_ref=1
              SetEnvIf Referer meine2tedomain b2k_ref=1
              Order Allow,Deny
              Allow from env=b2k_ref

              Aber es schränkt keinen Zugriff ein. Ich komme ganz normal in das Verzeichnis. Egal ob ich über die Domain den Link anklicke - oder in einem neuen Browserfenster den Link direkt aufrufe.

              Ich studiere schon die ganze Zeit das FM - aber ich komme halt leider nicht weiter :(. Den Zugriff auf CLIENT IP Basis bekomme ich ja problemlos hin - nur nicht auf Refererbasis .. grummel

              hi,

              Wäre echt dankbar wenn du mir ein funktionierendes Beispiel nennen könntest

              #SetEnvIfNoCase Referer ^$       local_ref=1
              #SetEnvIfNoCase Referer rolfrost local_ref=1
              #<files ~ ".(gif|jpg)$">

              ErrorDocument 403 /cgi-bin/show.cgi?imgred

              ErrorDocument 404 /cgi-bin/show.cgi?imgred

              Order Allow,Deny

              Allow from env=local_ref

              #</files>

              Ist z.Z. außer Betrieb, funktioniert jedoch einwandfrei. Nur malso nebenbei: Du musst nichts klammern, weise der Variablen einen festen Wert zu und gut. Und nimm Dir mal Zeit für das Facküng Mänuela.

              Vieße Grüle,
              Horst