Lactrik: (PROGRAMMIERTECHNIK) Mit JavaScript Daten an htaccess übergeben

Hallo,

Das Problem ist folgendes: Ein Kunde soll sich einloggen und nur Zugriff auf bestimmte Dateien haben. Dies hab ich mit Gruppen gemacht.

Hier die .htaccess:

AuthType Basic
AuthName "Kundenlogin"
AuthUserFile /home/www/web9/html/test/login/.htpasswd
AuthGroupFile /home/www/web9/html/test/login/.htgroups
<Files 100100*>
require user 100100
require group 100100
</Files>

Hier die .htgroups:

100100: 100100

Es ist also festgelegt, dass der User "100100" nur auf Dateien zugreifen darf, die mit 100100* beginnen. Zum Beispiel 100100index.html oder 100100downloads.html.

Ich möchte jetzt aber nicht, dass er in der Adresse seine Nummer selbst vor das index.html setzen muss... das soll automatisch passieren.

Ich möchte also, dass er nur /test/login gehen braucht, seinen Username eingibt und dann auf 100100index.html geleitet wird. Das lässt sich mit JavaScript lösen oder?

Das Script müsste ihn nach seinem Benutzernamen fragen (100100) und diesen als URL setzen. Dann käme die .htaccess-Aufforderung. Und dort sollte das Script am besten noch automatisch seinen Benutzernamen in das passende Feld einfügen, so dass der Kunde dann nur noch sein Passwort eintippen muss.

Ich hoffe, man kann dem Ganzen hier folgen... das müsste doch machbar sein oder?

Grüsse
Lactrik

  1. Hi,

    Ich möchte jetzt aber nicht, dass er in der Adresse seine Nummer selbst vor das index.html setzen muss... das soll automatisch passieren.

    Du möchtest Dich mit mod_rewrite beschäftigen. JavaScript ist für Servermechanismen entweder gar nicht oder nicht sinnvoll zu verwenden.

    Ich möchte also, dass er nur /test/login gehen braucht, seinen Username eingibt und dann auf 100100index.html geleitet wird. Das lässt sich mit JavaScript lösen oder?

    In diesem Fall trifft "gar nicht" zu.

    Cheatah

    1. Du möchtest Dich mit mod_rewrite beschäftigen. JavaScript ist für Servermechanismen entweder gar nicht oder nicht sinnvoll zu verwenden.

      Nicht wirklich... mod_rewrite ist ja ganz toll, aber leider bei 1&1 im Paket für 39€ monatlich nicht aktiv.

      Ich möchte also, dass er nur /test/login gehen braucht, seinen Username eingibt und dann auf 100100index.html geleitet wird. Das lässt sich mit JavaScript lösen oder?

      Es geht doch gar nicht um serverseitig... das JavaScript läuft Clientseitig und soll auch nur den Client auffordern, seinen Benutzernamen anzugeben. Anschliessend soll das Javascript diesen Benutzernamen in die URL-Zeile kopieren und die Seite aufrufen. Den Rest übernimmt htaccess - ohne mod_rewrite.

      Vielleicht kam's vorhin falsch rüber... das JavaScript muss also nur Clientseitige Aktionen vornehmen, nicht mehr.

      Grüsse
      Lactrik

      1. Hi,

        Du möchtest Dich mit mod_rewrite beschäftigen.
        JavaScript ist für Servermechanismen entweder
        gar nicht oder nicht sinnvoll zu verwenden.
        Nicht wirklich... mod_rewrite ist ja ganz toll, aber
        leider bei 1&1 im Paket für 39€ monatlich nicht
        aktiv.

        in jedem vernünftigen Paket für einen einstelligen
        Betrag pro Monat schon.
        Wie wäre es also mit einem vernünftigen Provider?

        Es geht doch gar nicht um serverseitig...

        ServerAuthentication _ist_ etwas Serverseitiges.

        das JavaScript läuft Clientseitig und soll auch nur
        den Client auffordern, seinen Benutzernamen
        anzugeben.

        Das verstehe ich nicht. Wie stellst Du Dir das vor?

        ServerAuthentication ist Bestandteil von HTTP - dort
        hat JavaScript keinerlei Einfluß.

        Anschliessend soll das Javascript diesen
        Benutzernamen in die URL-Zeile kopieren

        Auch darauf hat JavaScript keinerlei Zugriff.

        Vielleicht kam's vorhin falsch rüber... das
        JavaScript muss also nur Clientseitige Aktionen
        vornehmen, nicht mehr.

        Das Problem ist nur, daß Du den Begriff "clientseitige
        Aktionen" anders definierst als die Browser-Hersteller.

        Viele Grüße
        <img src="http://www.schroepl.net/projekte/gzip_cnc/gzip_cnc.gif" border=0 alt=""> Michael

        1. Hallo,

          ServerAuthentication _ist_ etwas Serverseitiges.

          Ich rede ja jetzt nicht vom Serverseitigen. Und ein Benutzer soll nur auf bestimmte Dateien zugreifen können (htaccess-Gruppen). Wenn ich jetzt als Benutzer xy angemeldet bin, dann darf ich auch nur auf die Datei xy zugreifen. Aber wie komm ich auf die Datei drauf? Ich muss in die Adressleiste klicken und den entsprechenden Dateinamen in eintragen... zum Beispiel xy_index.html

          Und genau dies soll durch das JavaScript einfach automatisiert werden... der Server hat mit dem JS nix zutun, für ihn siehts so aus, als hätte der Benutzer die URL per Hand eingetippt.

          das JavaScript läuft Clientseitig und soll auch nur
          den Client auffordern, seinen Benutzernamen
          anzugeben.

          Das verstehe ich nicht. Wie stellst Du Dir das vor?

          Indem ich ein Formularfeld nehme, es die Variable "Username" zuweise und später versuche, diese Variable in die URL einzubringen, so dass auf die passende Datei zugegriffen werden kann. (beispiel: Benutzer gibt als Username ein 'xy'. Dann trägt das JavaScript in die Adressleiste im Browser automatisch ein: xy_index.html).

          Anschliessend soll das Javascript diesen
          Benutzernamen in die URL-Zeile kopieren

          Auch darauf hat JavaScript keinerlei Zugriff.

          Mag sein... wenn ich das wüsste, bzw. hier etwas darüber gefunden hätte, dann hätte ich nicht zu posten brauchen ;-)

          Vielleicht kam's vorhin falsch rüber... das
          JavaScript muss also nur Clientseitige Aktionen
          vornehmen, nicht mehr.

          Das Problem ist nur, daß Du den Begriff "clientseitige
          Aktionen" anders definierst als die Browser-Hersteller.

          Hmm... eigentlich gibts daran nichts zu definieren... Clientseitig bedeutet, dass es auf der Seite des Users abläuft... aber wenn meine Idee nicht durchführbar ist, muss ich das wohl hinnehmen... mir gefällt auch die mod_rewrite Lösung 1000x besser... aber es ist nicht für mich und der Auftraggeber will nunmal bei 1&1 bleiben und möchte ein Kundenlogin, welches den User sofort in seinen Bereich leitet... eine kaum zu realisierende Sache ohne mod_rewrite.

          Trotzdem vielen Dank
          Lactrik

          1. Hi,

            ServerAuthentication _ist_ etwas Serverseitiges.
            Ich rede ja jetzt nicht vom Serverseitigen.

            doch tust Du. Du musst es nur merken :-)

            Und ein Benutzer soll nur auf bestimmte Dateien zugreifen können (htaccess-Gruppen).

            Es gibt zwar keine "htaccess-Gruppen" (Basic bzw. Digest Authentication ist ein HTTP-aufgepfrofter Mechanismus, der im Apache-Server konfigurierbar ist; das hat mit .htaccess im Grunde nichts zu tun - es ist nur zufällig ebenfalls eine Konfigurationsdatei), aber eben dies existiert ausschließlich serverseitig.

            Wenn ich jetzt als Benutzer xy angemeldet bin,

            ...Dann bist Du es serverseitig, nicht clientseitig.

            dann darf ich auch nur auf die Datei xy zugreifen. Aber wie komm ich auf die Datei drauf?

            Mit mod_rewrite oder einem andere serverseitiger Mechanismus. Niemals jedoch auf einem clientseitigen Weg.

            Und genau dies soll durch das JavaScript einfach automatisiert werden...

            Dann musst Du mit serverseitigem JavaScript arbeiten. Das gibt's auch, aber glaub mir - das willst Du gar nicht.

            der Server hat mit dem JS nix zutun, für ihn siehts so aus, als hätte der Benutzer die URL per Hand eingetippt.

            Das allerdings ist absolut korrekt :-)

            das JavaScript läuft Clientseitig und soll auch nur
            den Client auffordern, seinen Benutzernamen
            anzugeben.
            Das verstehe ich nicht. Wie stellst Du Dir das vor?
            Indem ich ein Formularfeld nehme,

            Und wie willst Du dies über die Authentication hinweg synchronisieren? Wenn Du ein entsprechend gefülltes Formularfeld hast, dann hat es Dir der Server geliefert, und schon kannst Du weitaus bessere Mittel nehmen als JavaScript.

            Das Problem ist nur, daß Du den Begriff "clientseitige
            Aktionen" anders definierst als die Browser-Hersteller.
            Hmm... eigentlich gibts daran nichts zu definieren... Clientseitig bedeutet, dass es auf der Seite des Users abläuft...

            Ja, und dazu muss eben clientseitig alles verfügbar sein. Clientseitig mit dem Server zu kooperieren ist nicht mehr clientseitig; genau das müsstest Du aber tun.

            mir gefällt auch die mod_rewrite Lösung 1000x besser... aber es ist nicht für mich und der Auftraggeber will nunmal bei 1&1 bleiben

            Dann mach ihm klar, dass seine Wünsche realitätsfern sind. Mit einem Schwarzweiß-Drucker bekommt man keine leuchtenden Farben hin, mit einem Trabant kann man sich nicht zur Formel-1 qualifizieren, mit einer amputierten Lunge kann man keine Opern singen. Da kann der größte Wunsch und derbestzahlenste Auftragsgeber nichts dran ändern.

            Cheatah