Hallo Leute,
ich habe ein "Loginscript" geschrieben. Es ist zwar ganz einfach aber im Grund reicht es für meine Zwecke!
Allerdings habe ich noch ein Problem, das ich hier beschreibe. Vorab, ich möchte KEIN
MySql o.ä. verwenden.
Das Login Formular:
Delphi-Quellcode:
<form action="" method="post">
<p align="center">
<table border="7">
<tr><td>
<table width="50%" border="0">
<tr>
<td colspan="2"> <p align="center">[b]<u> L O G I N </u>[/b]</p></td>
</tr>
<tr>
<td> [b] Benutzername [/b] </td>
<td> <input type="text" name="user"> </td>
</tr>
<tr>
<td> [b] Passwort [/b] </td>
<td> <input type="password" name="pw"> </td>
</tr>
<tr>
<td> </td>
<td>
<input type="submit" value="Login" >
<input type="reset" value="Löschen">
</td>
</tr>
</table>
</tr></td>
</table>
</form>
Folgender Code wird für die Login Funktion verwendet.
Delphi-Quellcode:
<?php
$username = '
BENUTZER';
$passwort = '
PASSWORT';
IF($_POST)
{
IF ($_POST['user']== $username)
{
IF ($_POST['pw']== $passwort)
{
echo
('
<h1><p align="center">
Login erfolgreich!
</p></h1>
<p align="center">
[url="?id=1"] Weiter [/url]
</p>
<!----
<iframe src="http://m-v-g.de.ms" width="100%" height="100%"> </iframe>
--->
');
}
}
ELSE
{
echo
('
<h1><p align="center">
Login fehlgeschlagen!
</p></h1>
');
}
}
?>
Das Prinzip ist sehr einfach:
Ich habe eine auf PHP basierende Seite (Administration). Wird diese Aufgerufen, erscheint automatisch die Indexdatei
mit dem Loginformular.
Geb ich nun meinen Nutzernamen und das Passwort ein, erfolgt die Ausgabe einer Nachricht "Login erfolgreich!"
sowie die Ausgabe eines Links. Der Link leitet mich dann auf den Inhalt weiter. Ist der Nutzername schon falsch,
wird erst gar nicht das Passwort überprüft sondern gleich die Nachricht "Login fehlgeschlagen" ausgegeben.
Soweit so gut, ist zwar nicht das effizienteste Script aber der Grundaufbau funktioniert damit!
Nun zum eigentlichen Problem:
Ich verwenden für die Anzeige des Inhalts ein Array, in dem ich die Links speichere:
Delphi-Quellcode:
<?php
$seite[0]= 'inhalt/login';
$seite[1]= 'inhalt/start';
$seite[2]= 'inhalt/chat_admin';
?>
<?php include($seite[$_GET['id']].'.php'); ?>
Der Link um auf die Seite zu kommen (Den ich beim Login erhalte) lautet:
[url="?id=1"] Weiter [/url]
Sprich es wird die ID auf 1 gesetzt. Somit wird der Inhalt ausgetauscht (Header und Navi natürlich auch, ist nun aber
nicht weiter von nöten zu erklären).
An sich ist das ganze auch recht sicher, vergleich mit der einfachheit.
Ich will aber nicht, das jdn den "Trick durschaut" und einfach mal auf gut Glück in der Navileiste den Teil
index.php?id=1 durch index.php?id=2 austauscht und somit das Loginmenü umgeht.
Eine Idee von mir ist bsp: ich generiere einfach Zufalls ID's. Das Problem dabei ist, woher weiß ich denn, welche
Seite welche ID hat?
Oder gibts da noch andere Möglichkeiten es so zu machen?
Danke für die Hilfe und Gruß Marc