Kurt: Frage zu Apache

hallo

ich will ein Verzeichnis auf dem Webserver mit ein Passwortschutz einrichten, damit nur bestimmte Personen in dieses Verzeichnis kommen.

Ich muß es aber anhand einer Datenbank irgendwie einrichten.

meine Frage ist: kann ich den Apache irgendwie so konfigurieren, dass er statt auf ein Passwortfile zu zeigen ein Perl-Script aufruft, dass dann die Datenbank checkt.

danke im Vorraus

Kurt

  1. Hallo Kurt,

    Ich muß es aber anhand einer Datenbank irgendwie einrichten.

    meine Frage ist: kann ich den Apache irgendwie so
    konfigurieren, dass er statt auf ein Passwortfile zu zeigen
    ein Perl-Script aufruft, dass dann die Datenbank checkt.

    DirectoryIndex /cgi-bin/auth.pl

    Aber sinnvoller waere es, ein Apache-Modul wie 'mod_auth_mysql'
    oder 'mod_auth_pgsql' zu nutzen.

    Gruesse,
     CK

    1. Hallo!

      DirectoryIndex /cgi-bin/auth.pl

      Aber das reicht doch nicht um ein Verzeicnis zu schützen, oder? Das reagiert doch nur auf "/", alle anderen Requests werden normal bearbeitet, oder wie hast Du das gemeint?

      Aber sinnvoller waere es, ein Apache-Modul wie 'mod_auth_mysql'
      oder 'mod_auth_pgsql' zu nutzen.

      Wobei die Textdateien ja auch nicht so schlecht sind,da kann man sich ja auch ein bequemes Frontend für schreiben und schon ist die DB unnötig! Das habe ich zumindest bei meinen Datenbank-Versuchen gelernt ;-)

      Grüße
      Andreas

      1. danke für eure schnellen Antworten

        ich glaube auch, dass man mit
        DirectoryIndex /cgi-bin/auth.pl
        das nicht ganz erreichen kann.

        Geht es denn irgendwie mit AuthUserFile oder so ähnlich

        Apache-Modul wie 'mod_auth_mysql'
        kann ich leider nicht verwenden, da die Datenbank nicht von mir verwaltet wird und da sämliche Personen drinne stehen. Ich soll nur eben von dieser Datenbank bestimmten Personen Zugriff zu einer bestimmten Seite zulassen. und da wollte ich ein CGI-Script schreiben, was eben bestimmte Kriterien überprüft.

        1. Hi!

          ich glaube auch, dass man mit
          DirectoryIndex /cgi-bin/auth.pl
          das nicht ganz erreichen kann.

          Geht es denn irgendwie mit AuthUserFile oder so ähnlich

          Apache-Modul wie 'mod_auth_mysql'
          kann ich leider nicht verwenden, da die Datenbank nicht von mir verwaltet wird und da sämliche Personen drinne stehen. Ich soll nur eben von dieser Datenbank bestimmten Personen Zugriff zu einer bestimmten Seite zulassen. und da wollte ich ein CGI-Script schreiben, was eben bestimmte Kriterien überprüft.

          Was heißt "eine bestimmte Seite"? wirklich nur eine Datei, oder eine Homepage, als mirndestens ein Verzeichnis? Wenn letzteres dann kannst Du eifnach die User aus der DB in eine Datei schrieben und das gane mit .htaccess machen, sonst reicht es einfach die Passwortabfrage in das eine Script zu implementieren, und das das CGI ist kann es direkt auf die DB zugreifen.

          Grüße
          Andreas

          1. auf einem Webserver sind mehrere Ordner, für jeden Ordner sollen unterschiedliche Leute darauf zugreifen dürfen. in jedem Ordner ist eine komplette Webseite, die die jeweiligen User nach Belieben verändern und erweitern können.

            Die User können außerdem jederzeit ihr Passwort ändern, dadurch macht eine Passwortfile kein Sinn da das neue Passwort dann in der DB drinne steht und man wenn man htaccess einsetzen würde die Datei per cron-job regelmäßig neu schreiben müßte.

            1. Hi!

              auf einem Webserver sind mehrere Ordner, für jeden Ordner sollen unterschiedliche Leute darauf zugreifen dürfen. in jedem Ordner ist eine komplette Webseite, die die jeweiligen User nach Belieben verändern und erweitern können.

              Da bleibt wohl nur .htaccess

              Die User können außerdem jederzeit ihr Passwort ändern, dadurch macht eine Passwortfile kein Sinn da das neue Passwort dann in der DB drinne steht und man wenn man htaccess einsetzen würde die Datei per cron-job regelmäßig neu schreiben müßte.

              Alles was man mit Datenbanken machen kann, kann man auch mit Textfiles machen! Datenbanken sind nur bequemer. Und gerade eine .htaccess-Passwortdatei ist wirklich simpel zu pflegen! Mußt in das Script was die Datenbank ändert einfach noch einfügen, dass die Passwortdatei entsprechend geändert wird, das ist alles.

              Grüße
              Andreas

              1. Mußt in das Script was die Datenbank ändert einfach noch einfügen, dass die Passwortdatei entsprechend geändert wird, das ist alles.

                auf dieses Script habe ich leider kein Zugriff, welches die Passwörter ändert, nur auf die Datenbank

                1. Mußt in das Script was die Datenbank ändert einfach noch einfügen, dass die Passwortdatei entsprechend geändert wird, das ist alles.

                  auf dieses Script habe ich leider kein Zugriff, welches die Passwörter ändert, nur auf die Datenbank

                  Dann siehts schlecht aus. Dann fällt .htaccess weg. Dann bleibt Dir nur ein eigener Mechanismus, der in _jede_ Datei eingebaut werden muß, udn bedenke das Du so nur Scripte schützen kannst.

                  Grüße
                  Andreas

        2. Hallo Kurt,

          ich glaube auch, dass man mit
          DirectoryIndex /cgi-bin/auth.pl
          das nicht ganz erreichen kann.

          Doch, das geht. Die 'auth.pl' muss in dem Fall ueberpruefen,
          ob die korrekten Header geschickt wurden, ansonsten ein
          401-Header schicken. Fuer naeheres siehe bitte HTTP-RFC.

          Geht es denn irgendwie mit AuthUserFile oder so ähnlich

          Nein.

          Apache-Modul wie 'mod_auth_mysql'
          kann ich leider nicht verwenden, da die Datenbank nicht
          von mir verwaltet wird

          Ehm -- na und? Wenn du lesenden Zugriff auf die DB hast, kannst du auch mod_auth_mysql verwenden.

          Gruesse,
           CK

          1. Hallo!

            ich glaube auch, dass man mit
            DirectoryIndex /cgi-bin/auth.pl
            das nicht ganz erreichen kann.

            Doch, das geht. Die 'auth.pl' muss in dem Fall ueberpruefen,
            ob die korrekten Header geschickt wurden, ansonsten ein
            401-Header schicken. Fuer naeheres siehe bitte HTTP-RFC.

            Das verstehe ich aber nicht. Ich dachte DirektoryIndex wird nur bei "/"-Requestst benutzt? Es gibt doch auch eine Möglichkeit ein Script vor jedem Aufruf zu starten, aber das war doch nicht mit DirektoryIndex, oder?
            (http://httpd.apache.org/docs/mod/mod_dir.html#directoryindex)

            Grüße
            Andreas