htaccess anmeldung über ein PHP-Formular

D

DFP

Hi!

Möchte auf meiner HP einen Mitgliederbereich erstellen.
Das Verzeichnis ist auch mit htaccess gesichert.
Was muss ich machen, um den Dialog "Netzwerkanmeldung" durch ein PHP-Formular ersetzen zu können? Also das die Mitglieder ihren Benutzernamen und ihr Passwort auf der HP direkt eingeben können?!

Oder gibt es noch andere interessante Möglichkeiten? Kann leider keine MySQL verwenden, da das der Server nicht unterstützt.

Thanx.
 
Ja, die Möglichkeit gibt es !!!

man kann Username und Passwort mit in der URL schreiben, und zwar so:

http://username:passwort@www.deinedomain.de

Du musst also die eingegebenen Daten nur mit in die URL codieren, und mittels header() auf den geschützten Bereich weiterleiten.

hab das jetzt nicht in einem Script getestet, aber bei direkter Eingabe in den Browser funktioniert das. Gib doch mal Feedback, ob das so funzt. ;)

Gruß
Dunsti
 
Danke für den Tipp, aber da klappt etwas nicht....
Kann mal bitte jemand gucken was da nicht stimmt.

Das PHP-Script:
<?php
$benutzerid="$benutzername";
$passwort="$kennwort";
$start="http://$benutzerid:$passwort@http://www.meinepage.de/mitgliederbereich/index.htm";
Header ("Location: $start");
?>

Kann man das auch einfacher schreiben? (Direkt $benutzername:$kennwort verwenden?!)

Nun zu dem Problem:
Gibt man Benutzername und Kennwort in die beiden Textfelder ein und klickt auf Anmelden, erscheint trotzdem der Dialog "Netzwerkanmeldung". Klickt man auf Abbrechen, erscheint die Seite Error401. Jetzt ein klick auf F5 und man ist im gesicherten Bereich, da im Adressfeld die zuvor eingegebenen Werte stehen.

Warum kommt der Dialog? Wie kann ich diesen umgehen? Und kann man verhindern, dass im Adressfeld der Benutzername und das Passwort angezeigt wird?

Thanx für die Antwort.
 
whoops, fehler:

HTTP-EQUIV="refresh" statt tag=refresh :)

das sollte übrigens höchstens als antwort auf deine letzte bemerkung gelten ;)
 
Aber damit umgehe ich doch den Dialog "Netzwerkanmeldung" nicht. Das ist ja das größere Problem?
 
stimmt. war als antwort auf "Und kann man verhindern, dass im Adressfeld der Benutzername und das Passwort angezeigt wird? " gedacht.... dafür müsste das von dunsti erst klappen :)
 
Also ich peil das net! Nochmal zum Mitdenken:

Ich habe eine login.htm-Datei (im Hauptverzeichnis) mit zwei Textfeldern.
Die Textfelder heissen 1. benutzername und 2. kennwort.
Klickt man auf den Button Anmelden, wird die Datei login.php aufgerufen. Bei korrekten Daten soll man auf die Seite http://www.meineseite.de/mitglieder/index.htm kommen.

Die Datei login.php sieht JETZT so aus:
<?php
$start="http://$benutzername:$kennwort@http://www.meineseite.de/mitglieder/index.htm";
Header ("Location: $start");
?>

Wo ist der Fehler? Es kommt immer der Dialog "Netzwerkanmeldung"!
Klickt man auf Abbrechen und dann F5, klappt es (da ja die Adresse die korrekten Daten beinhaltet).

Wäre über eine Info (so das ich sie verstehe ;) ) dankbar.

Thanx.
 
ok, ich hab mal rumprobiert: also, mit dem Header-Befehl geht's net, aber mit META:

PHP:
<?PHP
if ($submit) {
echo "<meta http-equiv=\"refresh\" content=\"1; URL=http://$benutzername:$kennwort@www.meineseite.de/mitglieder/umleitung.php\">"; 
}
else {
echo "<FORM ACTION=\"$PHP_SELF\" METHOD=\"Post\">
	Name: <input type=\"text\" name=\"benutzername\"><BR>
	Kennwort: <input type=\"text\" name=\"kennwort\"><BR>
	<input type=\"Submit\" name=\"submit\">
</FORM>";
}
?>

Allerdings werden so immer noch der Benutzername und das Kennwort in der URL angezeigt. Der Browser speichert sich aber Benutzername und Kennwort. Deswegen muss der Link oben erstmal auf eine "Umleitungsseite" gehen, und auf dieser ist dann eine header-Umleitung auf die "Hauptseite" ohne die Zugangsdaten.
PHP:
<?PHP
header("Location: index.php");
?>

Gruß
Dunsti

----- edit -----
In der Umleitungsseite funktioniert wiederum KEIN Meta-Refresh. Da refresht er bei mir immer nur die Umleitungsseite. Deswegen hier den header()-Befehl nehmen !
 

Neue Beiträge

Zurück