Das problem der meisten LogIn Tutorials ist das sie entweder nicht die Dateien auf die im endeffeckt zugegriffen wird schützen oder sehr unständlich in die datei einzubauen sind und somit nicht mir include() gearbeitet werden kann.
Hier gibt es nun ein Tutorial, welches beide oben genannten schwierigkeiten umgeht. Leider kann es Dateien in die kein Quelltext eingefügt werden kann nicht schützen.
Für dieses Tut brauchen wir 3-4 Dateien:
index.php (diese sollte in allen Verzeichnissen die geschützt werden sollen vorhanden sein.)
login.php (diese wird am anfang jeder datei includet um sie zu schützen)
logout.php (Sie zerstört alle Sessiondaten)
optional ist auchnoch die datei logout.htm möglich, sie ist zur erleichterung des Ausloggens.
index.php
if($inuser != "" && $inpass != "")
{
$user = 'XXXXX'; //verschlüsselter oder unverschlüsselter Username
$pass = 'XXXXX'; //verschlüsseltes oder unverschlüsseltes Passwort
$refuser = md5($inuser);
$refpass = md5($inpass);
/*falls Username und Passwort nicht mit md5 verschlüsselt werden müssen die md5 tags entfernt werden */
if($user == $refuser && $pass == $refpass) //Überprüfen der Userdaten
{
session_start();
$_SESSION['inname'] = $refuser; //aufname der Userdaten in die Session
$_SESSION['inpass'] = $refpass;
echo '<meta http-equiv="refresh" content="; URL=Datei auf die weitergeleitet werden soll">';
}
else //Falls die daten falsch sind kann auf eine beliebige seite weitergeleitet werden
{
echo '<meta http-equiv="refresh" content="0; URL=URL">';
}
}
else //Das Input Tag kann beliebig verämdert werden, aber die Input namen sollten gleichblieben
{
echo '<FORM action="index.php" method=post>';
echo '<INPUT name="inuser" size=20 maxlength=20><BR>';
echo '<INPUT name="inpass" type=password size=20 maxlength=20>';
echo '<INPUT type=submit value="LogIn"> </FORM>';
}
login.php
$reqname = 'XXXXX'; //verschlüsselter oder unverschlüsselter Username
$reqpass = 'XXXXX'; //verschlüsseltes oder unverschlüsseltes Passwort
session_start();
if($_SESSION['inname'] == $reqname && $_SESSION['inpass'] == $reqpass)
{
//hier kann eine beliebige meldung per echo ausgegeben werden
}
else
{
exit(); //Falls die Daten falsch sind, wird die ausgabe aller folgenden Tags in der Datei abgebrochen
}
logout.php
$reqname = 'XXXXX';
$reqpass = 'XXXXX';
session_start();
if($_SESSION['inname'] == $reqname && $_SESSION['inpass'] == $reqpass)
{
session_unset();
session_destroy();
echo '<meta http-equiv="refresh" content="0; URL=http://www.lima-city.de/">';
}
else
{
exit();
}
um sich ausloggen zu können kann etweder
<A HREF=\"includes/logout.php\">LogOut</A>
in ein Datei geschrieben werden oder eine logout.htm erstellt werden, die den obigen link enthält. Sie wird in die zu schützende Datei an einer beliebigen Stelle includet.
Ein zu schützende Datei sollte dan wie folgt ausehen
include('login.php');
<HTML>
<HEAD>
<TITLE></TITLE>
</HEAD>
<BODY text=#000000 link=#0000FF alink=#FF0000 vlink=#800080 bgcolor=#000000>
...
</BODY>
</HTML>