Hi,
#!/usr/bin/perl
#!/usr/bin/perl -w
use strict;
Ist klar. Geb ich zu. So ist's besser, aber ohne gehts auch.
print "Location:http://$moreinfo{'username'}:$moreinfo{'passwort'}@www.meinedomain.de/$moreinfo{'username'}\n\n";
Das ist
_ _ _
__ _____ _ __| |__ ___ | |_ ___ _ __ | |
\ \ / / _ \ '__| '_ \ / _ | __/ _ \ '_ | |
\ V / __/ | | |_) | (_) | || __/ | | |_|
\/ \__|_| |_.__/ \__/ \_\___|_| |_(_)
Siehe RFC 1738, http://www.ietf.org/rfc/rfc1738.txt:
"No user name or password is allowed."
...ist nicht rfc-konform - aber nicht verboten. RFC ist ja schließlich kein Gesetz sondern "nur" ein Standard. Aber auch hier gebe ich Dir Recht. Diese Lösung ist wahrlich nicht optimal (ich weis nur leider keine andere).
Der IE legt übrigens das gleiche krasse Fehlverhalten an den Tag, wenn Du so ein Ding als Link in ein HTML-Dokument packst. Ob andere Browser jenes Konglumerat akzeptieren und ins Netz pusten, den Link nicht anzeigen oder sogar den kompletten Seitenaufbau ablehnen, will ich gar nicht wissen. Ehrlich gesagt schaudert mir insbesondere bei der erstgenannten Variante.
...aber wenn ich es in die Adresszeile eintrage oder mit meinem JS-Script probiere gehts auch mit dem IE. Daher dachte ich, daß es mit meiner CGI-Lösung eigentlich auch gehen sollte.
Wer Standards mit Füßen tritt, darf sich über "ungewöhnliches" Verhalten nicht wundern. Du wußtest wahrscheinlich nicht, daß Benutzername und Passwort in HTTP-URLs explizit untersagt sind - aber jetzt ist es Dir bekannt.
War mir auch schon vorher bekannt. Ich will den Schutz aber mittels .htaccess machen.
Jetzt habe ich das Problem, daß es für meine Seite mehre Benutzer gibt. Jeder Benutzer hat sein eigenes Verzeichnis und in eben dieses muß er nach der Anmeldung (automatisch) gelangen. Eine andere Möglichkeit als die von mir verwendete weis ich leider nicht, um mich (mittels CGI) gegenüber dem Server (der .htaccess) zu identifizieren. Weist Du eine? Wie gesagt, ich möchte den Schutz selbst mit .htaccess machen und nicht mittels CGI-Script.
Ein Login über ein formlar währe zwar das höchste der Gefühle, ankommen tut es mir aber eigentlich nur auf die Weiterleitung ins Benutzerverzeichnis.
Die HTTP-Authentifizierung zwischen Browser und Server kannst Du nicht auf nur einer Seite vornehmen. Der Browser muß wissen, wie er sich bei Folgeseiten authentifizieren muß - und die üblichen Mechanismen erfordern dazu die explizite Benutzereingabe. Das ist aber nicht lästig, sondern sinnvoll.
Der Browser bzw. der Server "merken" sich ja Deine Daten (bis zum Schließen des Browsers; kannst man ja auch ansehen => REMOTE_USER) und übergibt Sie dann bei Bedarf wieder an die Folgeseiten. Das funzt ja alles wenn ich das eben nur in die Adresszeile eintrage.
Was natürlich auch noch eine Möglichkeit währe, das ist ein benutzerabhängiges redirect mittels mod_rewrite. Mit dem Ding kenne ich mich aber leider nicht aus. Du vielleicht? Weist Du dafür vielleicht eine gute Hilfeseite?
Auf jeden Fall schon mal Danke für die letzte Antwort.
Gruß
Stefan