|
| Autor |
Nachricht |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 10.03.2005, 15:58 Titel: Passwortschutz funktioniert nicht |
|
|
Hallo,
kann mir jemand bei der Fehlersuche helfen?
Ich habe in einem Formular eine Passwort-Eingabe vorgesehen:
<form action="Intranet/login.php" method="post">
Bitte hier das Passwort eingeben:<br>
<input type="Password" name="passwd" value="" size="7" maxlength="7">
<input type="Submit" name="senden" value="OK">
</form>
Der php-Quellcode in der Datei login.php, an die das Passwort übergeben werden soll, sieht folgendermaßen aus:
<?php
$passwort = $HTTP_POST_VARS["passwd"];
$einsetzen = include("19gkp48.php");
$pass = md5($passwort);
if($pass=="test")
{
echo ($einsetzen);
}
else
{
echo "Login fehlgeschlagen";
}
?>
Gebe ich nun das Passwort im Formular ein und klicke auf "OK", erscheint, wie gewünscht, die Datei 19gkp48.php im Browser.
So weit, so gut. Gebe ich kein Passwort oder ein falsches ein, müsste "Login fehlgeschlagen" erscheinen. Es erscheint jedoch wieder die Datei 19gkp48.php, die es mit dem Passwort zu schützen galt.
Was habe ich falsch gemacht?
Für einen guten Rat wäre ich dankbar.
karl
|
|
| Nach oben |
|
 |
Andy.C Gast [Gast]
|
Verfasst am: 10.03.2005, 16:11 Titel: |
|
|
...
Zuletzt bearbeitet von Andy.C am 20.12.2007, 23:37, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 10.03.2005, 18:13 Titel: Passwortschutz funktioniert nicht |
|
|
Hallo Andy,
danke für die schnelle Reaktion. Aber leider funktioniert es auch in dieser Form nicht. Bei falscher Passwort-Eingabe erscheint auch jetzt wieder die zu schützende Seite.
Hat jemand noch eine andere Idee?
Gruß Karl
|
|
| Nach oben |
|
 |
Xero Erfahrener [User]


Anmeldung: 01.09.04 Beiträge: 50
|
Verfasst am: 10.03.2005, 18:42 Titel: |
|
|
Hmm, wie wärs wenn du nach "Login Fehlgeschlagen" ein exit(); einfügst ^^
|
|
| Nach oben |
|
 |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 10.03.2005, 19:05 Titel: Passwortschutz funktioniert nicht |
|
|
danke Xero,
auch das exit(); brachte keinen Erfolg.
php scheint komplizierter zu sein, als ich gedacht habe.
Gruß Karl
|
|
| Nach oben |
|
 |
Andy.C Gast [Gast]
|
Verfasst am: 10.03.2005, 19:07 Titel: |
|
|
...
Zuletzt bearbeitet von Andy.C am 20.12.2007, 23:37, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 10.03.2005, 19:11 Titel: Passwortschutz funktioniert nicht |
|
|
Hallo Andy
ich wünsche Dir einen erholsamen Schlaf.
Bis morgen
Karl
|
|
| Nach oben |
|
 |
Andy.C Gast [Gast]
|
Verfasst am: 10.03.2005, 19:16 Titel: |
|
|
...
Zuletzt bearbeitet von Andy.C am 20.12.2007, 23:37, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
Xero Erfahrener [User]


Anmeldung: 01.09.04 Beiträge: 50
|
Verfasst am: 10.03.2005, 21:32 Titel: |
|
|
Jetzt hab ich den fehler ^^
md5() von einer leeren variable ergibt "d41d8cd98f00b204e9800998ecf8427e", deswegen wird die bedingung immer erfüllt.
deswegen wird immer der inhalt angezeigt ^^
machs einfach so :
<?php
$passwort = $HTTP_POST_VARS["passwd"];
$einsetzen = include("19gkp48.php");
$das_richtige_passwort = "test";
$pass = md5($passwort);
if($pass == $das_richtige_passwort)
{
echo ($einsetzen);
}
else
{
echo "Login fehlgeschlagen";
}
?>
|
|
| Nach oben |
|
 |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 11.03.2005, 09:48 Titel: Passwortschutz funktioniert nicht |
|
|
Hallo Xero,
danke für Deinen Vorschlag. Er schien mir logisch und ich habe ihn hoffnungsvoll angewendet. Zu meiner Enttäuschung hat auch er nicht die Lösung gebracht. Die verwünschte Seite erscheint immer noch, wenn ich ein falsches oder gar kein Passwort eingebe.
Gruß Karl
|
|
| Nach oben |
|
 |
JörgK Beliebter [Mod]

Anmeldung: 09.04.04 Beiträge: 376
|
Verfasst am: 11.03.2005, 11:48 Titel: |
|
|
Vergleichen kann man nur die verschlüsselte Eingabe mit dem verschlüsseltem Passwort, wie Andy auch schon angemerkt hat (oder eben die Eingabe direkt mit dem Passwort)
| Code: |
<?php
$passwort = $HTTP_POST_VARS["passwd"];
$einsetzen = include("19gkp48.php");
$passwort_md5 = md5($passwort);
$pass = "test";
$pass_md5 = md5($pass);
if(isset($pass) && !empty($pass) && ($passwort_md5 == $pass_md5))
{
echo ($einsetzen);
}
else
{
echo "Login fehlgeschlagen";
}
?>
|
Ich wundere mich allerdings, dass der Login überhaupt funktioniert hat, auch bei richtiger Eingabe, der Fehler wird gegebenenfalls noch woanders liegen _________________
Webnotizen - Forum für XHTML, CSS und SEO - Bookmarks
|
|
| Nach oben |
|
 |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 11.03.2005, 12:24 Titel: Passwortschutz funktioniert nicht |
|
|
Hallo JörgK,
der Fehler liegt in der Tat wo anders. Ich habe jetzt den Befehl
echo ($einsetzen); herausgenommen und siehe da, die Seite erscheint trotzdem. Es reicht also bereits die Definition $einsetzen = include("19gkp48.php");, um die Datei einzufügen. Wenn ich die Definition herausnehme und 'echo "Hallo";' eingebe, funktioniert alles richtig.
Gibt es eine andere Syntax, z.B. den include-Befehl direkt mit 'echo' zu verbinden, ohne Verwendung der Variable $einsetzen ?
Gruß
Karl G.
|
|
| Nach oben |
|
 |
Andy.C Gast [Gast]
|
Verfasst am: 11.03.2005, 16:24 Titel: |
|
|
...
Zuletzt bearbeitet von Andy.C am 20.12.2007, 23:37, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
karl Neuer [User]

Anmeldung: 10.03.05 Beiträge: 8
|
Verfasst am: 11.03.2005, 17:04 Titel: |
|
|
Danke, Andy.
Ich habe Dein Script getestet. Wenn ich kein Passwort eingebe, kommt die Meldung "Login fehlgeschlagen", korrekt. Gebe ich ein falsches Passwort ein, erscheint die geschützte Seite.
Ich habe aber soeben eine funktionierende Lösung gefunden. Sie sieht so aus:
<?php
$passwort = $HTTP_POST_VARS["passwd"];
$passwort_md5 = md5($passwort);
$pass = "19gkp48";
$pass_md5 = md5($pass);
if(isset($pass) && !empty($pass) && ($passwort_md5 == $pass_md5))
{
include("19gkp48.php");
}
else
{
echo "Login fehlgeschlagen";
exit();
}
?>
Gruß Karl
|
|
| Nach oben |
|
 |
Andy.C Gast [Gast]
|
Verfasst am: 11.03.2005, 17:11 Titel: |
|
|
....
Zuletzt bearbeitet von Andy.C am 20.12.2007, 23:37, insgesamt einmal bearbeitet
|
|
| Nach oben |
|
 |
|
|