dennis18: htaccess: IP eines gesperrten IP-Bereichs erlauben

Hallo, ich möchte eine IP eines gesperrten Bereichs erlauben.

folgendes hat nicht geklappt:

order allow,deny
allow from all

Ausnahmen

allow from 63.154.xx.xx

deny from .gov
deny from .mil
deny from .cz
deny from 62.40.64.0/21
deny from 62.40.72.0/22

Die allow from IP ist aus .cz
Wie kann man sowas erlauben, obwohl sie in dessen Land in der deny from Anweisung bereits gesperrt ist?

  1. Mahlzeit,

    folgendes hat nicht geklappt:

    Kein Wunder:

    order allow,deny

    Erst erlaubst Du Verschiedenes, anschließend verbietest Du Verschiedenes.

    Die allow from IP ist aus .cz

    Das heißt, erst erlaubst Du den Zugriff für die IP 63.154.xx.xx explizit und anschließend verbietest Du ihn wieder implizit (da die IP in .cz liegt, wie Du schreibst). Ist doch klar, dass die IP dann nicht zugreifen darf ...

    Wie kann man sowas erlauben, obwohl sie in dessen Land in der deny from Anweisung bereits gesperrt ist?

    Versuch's doch mal mit "order deny,allow" - dann musst Du allerdings natürlich ggf. Dein Berechtigungs- und Zugriffskonzept überdenken (aber da bist Du ja sowieso gerade bei *g*).

    MfG,
    EKKi

    --
    sh:( fo:| ch:? rl:( br:> n4:~ ie:% mo:} va:) de:] zu:) fl:{ ss:) ls:& js:|
    1. deny,allow hat nicht geholfen.
      In diesem Fall wird die Seite angezeigt und zwar für alle.
      Das ist jetzt die htaccess, wenn leider alle erlaubt sind:

      order deny,allow
      deny from .gov
      deny from .mil
      deny from .cz
      deny from 62.40.64.0/21
      deny from 62.40.72.0/22

      allow from all
      allow from 87.187.98.55

      Ziel ist es aber .cz zu sperren und eine IP aus cz zu erlauben.

      1. Moin!

        deny,allow hat nicht geholfen.

        Woran das wohl liegt...

        In diesem Fall wird die Seite angezeigt und zwar für alle.
        Das ist jetzt die htaccess, wenn leider alle erlaubt sind:

        order deny,allow
        allow from all

        Na?

        Die Direktive "Order" regelt die Auswertungsreihenfolge UND AUCH die Default-Verhaltensweise.

        Order allow,deny verbietet standardmäßig alle Clients, es sei denn, es ist erlaubt (durch Allow), es sei denn, es ist verboten (durch Deny).

        Order deny,allow erlaubt standardmäßig alle Clients, es sei denn, es ist verboten (durch Deny), es sei denn, es ist erlaubt (durch Allow).

        Was detailliert verboten oder erlaubt ist, steht in den einzelnen Allow- oder Deny-Direktiven. Deren Reihenfolge in der Datei ist dabei unerheblich.

        - Sven Rautenberg

        --
        "Love your nation - respect the others."
        1. Das beides nicht funktioniert, egal wie es herum geregelt ist, es kann aus einem gesperrten Bereich keine einzelne IP daraus ausnahmsweise doch noch erlaubt werden. Aber warum?

          Im Prinzip will ich ein Land aussperren und eine deren IPs erlauben.
          Hat einer einen Vorschlag wie ich da vorgehen könnte?

          1. Hi,

            Im Prinzip will ich ein Land aussperren und eine deren IPs erlauben.
            Hat einer einen Vorschlag wie ich da vorgehen könnte?

            Den "Vorschlag" hast du von Sven bereits bekommen.

            Was du dabei noch falsch machst, koennen wir dir nicht sagen, wenn du's uns nicht zeigst.

            MfG ChrisB

            1. Ich habe jetzt folgende htaccess:

              order allow,deny
              allow from all
              allow from 81.31.42.72

              deny from .gov
              deny from .mil
              deny from .cz
              deny from 62.40.64.0/21
              deny from 62.40.72.0/22

              Leider wird die hierbei die IP 81.31.42.72 weiterhin gesperrt. Der Tscheche sieht eine 403 Forbidden Seite. Die order allow,deny Anweisung durch order deny,allow zu ersetzen, brachte nur das Ergebnis, das jeder die Seite sehen konnte.

              Ziel soll aber sein, Tschechien auszusperren, bis auf eine IP als ausnahme.

              1. Moin!

                Ich habe jetzt folgende htaccess:

                order allow,deny
                allow from all
                allow from 81.31.42.72

                deny from .gov
                deny from .mil
                deny from .cz
                deny from 62.40.64.0/21
                deny from 62.40.72.0/22

                Leider wird die hierbei die IP 81.31.42.72 weiterhin gesperrt. Der Tscheche sieht eine 403 Forbidden Seite. Die order allow,deny Anweisung durch order deny,allow zu ersetzen, brachte nur das Ergebnis, das jeder die Seite sehen konnte.

                Richtig, und ich habe dir ja auch gesagt, dass das einfache Umdrehen nicht ausreicht, du mußt dann mindestens das "allow from all" entfernen.

                Abgesehen davon wird deine Sperre keinesfalls "Tschechien" aussperren, sondern nur Nutzer, deren IP auf einen Domainnamen mit Endung ".cz" auflöst.

                Damit das passieren kann, muß der Apache aber für jeden HTTP-Request einen DNS-Request starten - das macht die ganze Sache extrem performancefressend.

                Außerdem hat nicht jede IP einen DNS-Namen. Ist das nicht der Fall, greift deine Sperre mit Domainnamen nicht.

                Und überdies nutzen auch in Tschechien vermutlich viele Provider die üblichen Endungen wie ".net" für die Namensauflösung ihrer Kunden-IPs.

                Deine ganze Konstruktion ist also extrem unsicher, verglichen mit deinen Absichten.

                - Sven Rautenberg

                --
                "Love your nation - respect the others."