SteBu: .htaccess und Wenn diese IP dann Passwortdialog

Moin,

ich bräuchte mal Hilfe(oder nen Schlag an den Hinterkopf).
Es geht um folgendes. Ich bräuchte eine .htaccess welche folgendes macht.

  • erlaube Zugriff von überall
  • wenn Zugriff von IP 1.2.3.4 oder 5.6.7.8 dann Frage nach Username und Password

Der Hinweis in der htaccess-FAQ http://aktuell.de.selfhtml.org/artikel/server/htaccess-faq/index.htm#a3 hat mich nicht wirklich nach vorn gebracht.

Wäre nett wenn mir da einer helfen könnte.

SteBu

  1. Moi moin SteBu,

    ein Beispiel für eine einzelne Datei:

    <FilesMatch index.htm>
       AuthName        eddi
       AuthType        Basic
       AuthUserFile    /pfad/zur/passwort/datei
       Order Allow,Deny
       Allow from all
       Deny from 69.190.130.12
       Require         valid-user
       Satisfy any
    </FilesMatch>

    Gruß aus Berlin!
    eddi

    1. Moin

      danke, sieht gut aus. Das war wohl der Schlag an den Hinterkof.

      Gruß aus Berlin!

      Danke
      Dann halt Gruß zurück(auch aus Berlin ;-) )
      SteBu

  2. hi,

    Ich bräuchte eine .htaccess welche folgendes macht.

    • erlaube Zugriff von überall
    • wenn Zugriff von IP 1.2.3.4 oder 5.6.7.8 dann Frage nach Username und Password

    Dann brauchst du vermutlich SATISFY, um anzugeben ob von mehreren Bedingungen (ALLOW/REQUIRE VALID USER) alle oder nur eine erfüllt sein müssen.

    Auf der verlinkten Seite findest du ein Beispiel für den umgekehrten Fall: Zugriff nur über Username/Passwort, _außer_ für bestimmte IPs.

    Wenn du es andersherum haben willst ... müssen wir mal kurz überlegen :-)

    Wenn ich das Manual richtig verstehe, wirkt SATISFY nur auf ALLOW und REUIRE VALID USER, nicht auf ein DENY, welches wir hier vermutlich brauchen würden.

    Also müsste man hier m.E. mittels SetEnvIf eine Umgebungsvariable definieren, die abfragt ob der anfragende Client (Remote_Addr) _nicht_ eine der beiden genannten IPs hat - wenn diese Bedingung erfüllt ist, lassen wir ihn rein, so wie es das Beispiel zu ALLOW mit SetEnvIf zeigt.
    Falls er aber eine der beiden fraglichen IPs nutzt, dann kommt unser REQUIRE VALID USER zum tragen - in dem wir für SATISFY den Wert ANY angeben.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
    1. hi,

      Wenn ich das Manual richtig verstehe, wirkt SATISFY nur auf ALLOW und REUIRE VALID USER, nicht auf ein DENY, welches wir hier vermutlich brauchen würden.

      OK, wenn XaraX Recht hat, habe ich hiermit vermutlich Unrecht :-), und dann wäre sein Weg natürlich zu bevorzugen.

      gruß,
      wahsaga

      --
      /voodoo.css:
      #GeorgeWBush { position:absolute; bottom:-6ft; }