• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Passwortsicherung

Cody227

Mitglied
Hi, hab mir mal auf einer anderen Seite Codes für einen Passwortschutz gedownloadet und sie für meine Seite abgeändert, aber irgendwie will das nicht funktionieren:

Inhalt.php
PHP:
html>



<body>

<?php

$_Post['pass'];
include("pwd.php");

if ($passwort == "$pass")

{

echo "

<html>

<head>

<title>Der Login</title>

</head>

<body>

Das is der Inhalt.

</body>

</html>

";

}

else

{

echo "ACCESS DENIED";

}

?>

</body>

</html>

pwd.php
PHP:
<?php
$pass;
$passwort = "test";
?>

index.html
HTML:
<body>
<center>
<table border="3" valign="center" align="center">
<tr><td><font size="18" color="CC0033"><b>PASSWORD REQUIRED</b></font></td></tr>
<tr><td><form action="inhalt.php" method="post">

<table border=0>

<tr>


<tr>



<td><input type="passwort" name="$pass"></td>





<td><center><input type="submit" name="senden" value=Login></td>

</tr>

</table>
</tr></td>

</form>

</table>
</center>


die seite ist übrigens hier: http://iappload.funpic.de
 
Hi,

hm , ne, dass sieht gar nicht gut aus.

Habe dir mal was neues geschrieben:

PHP:
<?php
session_start();
ob_start();
echo '<form action="'.$_SERVER['SCRIPT_NAME'].'" method="post">';
echo 'Passwort: <input type="password" name="pwd" />';
echo '<input type="submit" name="login" value="Login" />';
echo '</form>';

if(isset($_POST['login']))
{
    $passW = "passwortblablabla"; //Hier schreib das PW rein, dass den Login schützen soll
    $password = $_POST['pwd']; //passwort vom Formular entgegen nehmen
    
    if($password == "") //prüfen ob was drin steht
    {
        echo 'Du hast kein Passwort angegeben.';
    }
    else if($password == $passW)
    {
    $_SESSION['user'] = $password; //Session starten - musst auf den durch das login geschützen Seiten die Session überprüfen, wenn du an dieser Stelle Session startest
    header("Location: seite.php"); //mit header Location leitest du den User bei erfolgreichen login auf eine Seite weiter (zB: seite.php oder test.htm etc.)
    }
    else
    {
        echo 'Die Passwörter stimmen nicht überein.'; //wenn die Passwörter nicht übereinstimmen wird ne Fehlermeldung ausgegeben
    }
}
ob_flush();
?>
 
Hallo,

inhalt.php: was macht das $_Post['pass']; (löschen)
pwd.php was macht das $pass; (löschen)
Inhalt.php und pwd.php alle $pass in $_Post['pass'] ändern.

Was hast eigentlich vor?
Willst nur eine Seite leicht schützen oder mehrere?
wennn mehrere, soltest das mit session machen.

Cheffchen
 
@T!P-TOP: Ein paar Anmerkungen, wenn ich darf: ;)

  • action="" tut es auch.
  • Output-Buffer ist hier unnötig, beachte generell das EVA-Prinzip.
  • Prüfe, ob $_POST['pwd'] gesetzt ist.
  • Nutze nach Möglichkeit typsichere Vergleiche („===“). var_dump(0 == 'password'); liefert beispielsweise true. (Ist hier aber sicher, da $_POST['pwd'] immer ein String/Array ist.)
  • (Hier vielleicht nicht anwendbar, aber generell:) Speichere statt $_SESSION['user'] = $password; besser eine User-ID in der Session. Wenn die User-ID != 0, gilt die Session als eingeloggt.
  • Auf eine header()-Weiterleitung („location“) sollte immer ein exit; folgen, da undefiniert ist, ob das PHP-Script nach dem header()-Befehl noch weiterläuft oder nicht.
 
Hallo,

also ganz einfach, ganz am anfang (erste PHP zeile, sonst funst session nicht) <?php session_start(); ?>

und dann einfach so eine abfrage, aber wie mermshaus schon sagt besser mit eine ID machen

if(isset($_SESSION['user']) && $_SESSION['user']== 'Max'){echo 'Zugang ok, Anzeigen';}else{echo'keine berechtigung da nicht Max';}

Cheffchen
 
Hallo

Ein Tipp von mir noch:

An Stelle von 100 verschiedenen .php - Files kannst du auch ein index.php machen in welchem du dann die $_GET-Parameter mit switch() durchgehst und die passende .php einfach importierst, da kannst du dir viel Arbeit sparen, wenn du vielleicht genau in den ersten 3 Zeilen etwas abändern möchtest. :)
 
lol wenn ich mich versuche auf der seite einzuloggen mit irgendeinem passwort kommt das hier raus :
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-16106315-4']); _gaq.push(['_setDomainName', '.funpic.de']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
 
Zurück
Oben