Passwortgeschützter Bereich

Hallo,

ich steh mit meiner PHP-Seite total daneben:

ich möchte in eine passwortgeschützten Bereich wechseln und hab das Beispiel von [FONT=‚Arial‘,‚sans-serif‘]PHP-Einfach.de - PHP lernen leicht gemacht verwendet.[/FONT]

[FONT=‚Arial‘,‚sans-serif‘]Mein Kennwort hab ich über md5 verschlüsselt und ich bekomme immer die gleiche Meldung: nämlich: Das Passwort oder Benutzer ist leider falsch! - hier der code:[/FONT]

[FONT=‚Arial‘,‚sans-serif‘][PHP]

<?php //$vorgabepasswort = "hippokrates"; $benutzer = $_POST["benutzer"]; $passwort = $_POST["passwort"]; //Passwort verschlüsseln: $pass = md5($passwort); //echo $pass; if($username =="hugo" and $pass=="blabladddd4444etc") { echo "Herzlich Willkommen im internen Bereich!!"; } else { echo "Das Passwort oder Benutzer ist leider falsch!!"; } [/PHP][/FONT] [FONT='Arial','sans-serif']was hab ich denn übersehen??[/FONT] [FONT='Arial','sans-serif']Formularfelder kommen aus html per post[/FONT] [FONT='Arial','sans-serif']gruss[/FONT] [FONT='Arial','sans-serif']emw[/FONT]

[php]
//v-------v
$benutzer = $_POST[„benutzer“];

//v-------v
$passwort = $_POST[„passwort“];

// v-------v v—v
if($username ==„hugo“ and $pass==„blabladddd4444etc“)[/php]

Fällt dir etwas auf?

Das ist übrigens einer der Gründe, warum man von fertigen Scripten die Finger lassen und PHP richtig lernen sollte…

Comodore lesen :wink:

[php]$pass = md5($passwort);
$pw = ‚blabladddd4444etc‘; // hier solltest du auch md5(); anwenden

echo ‚Passwort von dir als md5 "‘.$pass.‚".
‘;

echo ‚Passwort vom System "‘.$pw.‚".‘;
if($username ==„hugo“ and $pass==$pw)[/php]

:smiley: echt hammah ^^

Die benutzervariable musste du auch umbenennen:

[PHP]

<?php //$vorgabepasswort = "hippokrates"; $benutzer = $_POST["benutzer"]; $passwort = $_POST["passwort"]; //Passwort verschlüsseln: $pass = md5($passwort); $pw = 'blabladddd4444etc'; // hier solltest du auch md5(); anwenden echo 'Passwort von dir als md5 "'.$pass.'".
'; echo 'Passwort vom System "'.$pw.'".'; //echo $pass; if($benutzer =="hugo" and $pass==$pw) { echo "Herzlich Willkommen im internen Bereich!!"; } else { echo "Das Passwort oder Benutzer ist leider falsch!!"; } [/PHP] So so sollte das dann funktionieren. @slibbo: habe deinen Code gleich eingebaut. Grüße ixam

[php]
$benutzer = $_POST[„benutzer“];
$passwort = $_POST[„passwort“];

$pw = ‚blabladddd4444etc‘;

if($benutzer ==„hugo“ and $passwort==$pw)
{
echo „Herzlich Willkommen im internen Bereich!!“;
}
else
{
echo „Das Passwort oder Benutzer ist leider falsch!!“;
}
[/php]Des md5(…) kannst du eh weg lassen, wenn des passwort unverschlüsselt übertragen wird, dann brauchst es vor der überprüfung nicht noch verschlüsseln!

wird das passwort verschlüsselt übertragen, müsste es wohl eher so aussehen:
[php]
$benutzer = $_POST[„benutzer“];
$passwort = $_POST[„passwort“];

//Original Passwort verschlüsseln:
$pw = md5(‚blabladddd4444etc‘);

if($benutzer ==„hugo“ and $passwort==$pw)
{
echo „Herzlich Willkommen im internen Bereich!!“;
}
else
{
echo „Das Passwort oder Benutzer ist leider falsch!!“;
}
[/php]Gruß KY

Dass du md5() verwendest ist sinnlos…

Denn PHP lauft sowieso auf dem Server ab und kein Benutzer kannd das eingegebene Passwort sehen, ausser du gibst es per echo oder so aus.

Nebenbei, wenn du es doch irgendwo ausgibst als MD5() dann kannst du ja einfach [php]echo md5(„Passwort“);[/php] einsetzen

md5() hat nur dann einen Sinn, wenn du das Passwort in eine DB speicherst. Denn dort könnte man das gesicherte Passwort sehen. Einfach beim Eintragen in die DB md5() verwenden.

LG :wink:

es hat auch keinen sinn das passwort unverschlüsselt in die datei zu packen… darum verschlüssel es lieber erst und speicher es dann in deine datei und dann wende die md5 funktion nur auf das über POST übergebene passwort an

kann ja schließlich sein das jemand zugriff auf dein dateisystem bekommt :wink:

Mit md5 verschlüsseln? Das will ich sehen…