Dieter Raber: serverabhängige Authentifizierung

Hallo,

Ist es mittels .htaccess moeglich, nur unter bestimmten Bedingungen fuer ein Passwort zu prompten?

Hintergrund ist, dass ich zwischen lokaler und entfernter Maschine moeglichst wenig Codeanpassungen haben moechte. In meiner Wunschhtaccess wuerde also stehen:

  
<wenn du, lieber Apache, dein Werk nicht unter localhost || 127.0.0.1 || 192.168.x.x || rechnername verrichtest>  
  AuthType...., also frag nach User/Password  
  
  # gut gefallen wuerde mir auch:  
  AuthUserFile ein-pfad-den-der-server-per-se-kennt/.htusers  
</wenn du>  

Kann mir da jemand eine Denkanstoss geben, oder ist das was mir vorschwebt, nicht machbar?

Gruß,

Dieter

  1. hi,

    Ist es mittels .htaccess moeglich, nur unter bestimmten Bedingungen fuer ein Passwort zu prompten?

    Das kommt auf die bestimmten Bedingungen an.

    Hintergrund ist, dass ich zwischen lokaler und entfernter Maschine moeglichst wenig Codeanpassungen haben moechte. In meiner Wunschhtaccess wuerde also stehen:
    [code lang=apache]
    <wenn du, lieber Apache, dein Werk nicht unter localhost || 127.0.0.1 || 192.168.x.x || rechnername verrichtest>
      AuthType...., also frag nach User/Password

    Verrichtet der Apache sein Werk nicht eigentlich (fast) immer "unter localhost" bzw. 127.0.0.1?

    Kann mir da jemand eine Denkanstoss geben, oder ist das was mir vorschwebt, nicht machbar?

    Mir ist noch nicht ganz klar, was dir vorschwebt.
    Wenn du lediglich _Zugriffe_ von bestimmten Client-Rechner-IPs - bspw. 127.0.0.1 - ohne Passwortabfrage erlauben wolltest - dann wäre Satisfy was für dich.

    Aber wenn du mit ein und der selben Konfigurationsdatei unterschiedliches bewirken willst, je nachdem wo der Apache selber läuft - da bin ich überfragt.

    gruß,
    wahsaga

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

      Aber wenn du mit ein und der selben Konfigurationsdatei unterschiedliches bewirken willst, je nachdem wo der Apache selber läuft - da bin ich überfragt.

      Das widerspräche dem Sinn einer Konfigurationsdatei ja auch.

      Man kann in Apache-Konfigurationen in Abhängigkeit von geladenen Modulen unterschiedliche Direktiven einbinden (bzw. wird es standardmäßig genutzt, um Direktiven, die erst durch das Modul verfügbar sind, auszuklammern, um Parser-Fehlermeldungen zu verhindern). Sofern es auf dem Live- oder Testserver also ein eindeutiges Modul gäbe, könnte man das als Indikator mißbrauchen. Ratsam wäre es aber nicht - was würde passieren, wenn das Modul plötzlich auch auf dem anderen Server installiert würde?

      - Sven Rautenberg

      --
      "Love your nation - respect the others."
      1. echo $begrüßung;

        Man kann in Apache-Konfigurationen in Abhängigkeit von geladenen Modulen unterschiedliche Direktiven einbinden[...]. Sofern es auf dem Live- oder Testserver also ein eindeutiges Modul gäbe, könnte man das als Indikator mißbrauchen. Ratsam wäre es aber nicht - was würde passieren, wenn das Modul plötzlich auch auf dem anderen Server installiert würde?

        Passender und weniger anfällig bei Veränderungen fände ich <IfDefine ...> zusammen mit einem "-D"-Parameter beim Start des Apachen.

        echo "$verabschiedung $name";

        1. Moin!

          Passender und weniger anfällig bei Veränderungen fände ich <IfDefine ...> zusammen mit einem "-D"-Parameter beim Start des Apachen.

          Stimmt, das war mir entfallen. Dabei nutzt es der Apache unter Gentoo ausführlichst.

          Ist in diesem Zusammenhang wirklich die sauberste Lösung. Erfordert allerdings, dass man Shell-Zugang hat, um die Startkonfiguration des Apachen ändern zu können, zumindest auf einem der zwei Server, damit dieser "-D"-Parameter geändert wird.

          - Sven Rautenberg

          --
          "Love your nation - respect the others."
  2. Danke fuer die Antworten!

    Ich hatte schon vermutet, dass das nicht so ohne weiteres machbar waere.

    Gruß

    Dieter