Da ich schon absehen kann, dass du mir nicht glaubst, kannst du ja mal folgenden Link ausprobieren:
http://www.nasicunion.de/tutor/login.php
Der PHP-Code lautet:
Die Datei .htpasswd, die im selben Verzeichnis liegt sieht so aus:
Keine Leerzeichen/Leerzeilen oder sonstwas.
Hab' ich da jetzt nur einen dämlichen Fehler gemacht, oder warum ist die verschlüsselte Ausgabe des Passwortes absolut identisch, wird aber nicht als dieses erkannt?!
Das gilt, wie gesagt, nur beim ersten Namen (also test).
Wenn man hallo eingibt, ist das Passwort zwar auch gleich, dieses wird aber erkannt.
http://www.nasicunion.de/tutor/login.php
Der PHP-Code lautet:
PHP:
<?php
if (isset($_POST['Name']) AND isset($_POST['Password'])) {
$pwfile = file(".htpasswd");
$Pass = crypt($Password, "21");
echo "<br>Ihr eingegebenes Passwort lautet verschlüsselt:";
echo $Pass;
echo "<BR>";
$user_OK = false;
foreach ($pwfile as $zeile) {
$LoginData[] = explode(":", $zeile);
}
for ($i = 0; $i < count($LoginData); $i++) {
if (($_POST['Name'] == $LoginData[$i][0]) AND $Pass == $LoginData[$i][1]) {
$user_OK = true;
break;
}
else {
echo "<BR>Der Verleich mit den Login-Daten Nr. ".($i + 1);
echo " war nicht erfolgreich!<BR>";
echo "Das erforderliche Password hieße:".$LoginData[$i][1]."<BR>";
echo "Der erforderliche Username hieße:".$LoginData[$i][0]."<BR>";
$user_OK = false;
}
}
if ($user_OK == true) {
echo "Login erfolgreich!<BR><BR><BR>";
echo "<A HRef=\"javascript:window.open('file.php', 'Admin')\">Hier geht's weiter</A>";
}
else {
echo "Login nicht erfolgreich!<BR><BR><BR>";
echo "<A HRef=\"javascript:history.back()\">Hier geht's zurück</A>";
}
}
else {
echo "<HTML><Body>Bitte geben Sie als Name und Passwort 'test' oder 'hallo' ein!<Form Name=\"Login\" Method=\"POST\" Action=\"$PHP_SELF\">"
."Name: <Input Type=\"Text\" Name=\"Name\"><BR>Passwort: <Input Type=\"Password\" Name=\"Password\"><BR>"
."<Input Type=\"Submit\" Value=\"Login\"></Form></Body></HTML>";
}
?>
Die Datei .htpasswd, die im selben Verzeichnis liegt sieht so aus:
test:21CAplOLEsGLE
hallo:21bug8oWWKwEI
Keine Leerzeichen/Leerzeilen oder sonstwas.
Hab' ich da jetzt nur einen dämlichen Fehler gemacht, oder warum ist die verschlüsselte Ausgabe des Passwortes absolut identisch, wird aber nicht als dieses erkannt?!
Das gilt, wie gesagt, nur beim ersten Namen (also test).
Wenn man hallo eingibt, ist das Passwort zwar auch gleich, dieses wird aber erkannt.