chickenwing
Mitglied
Moin, Moin,
Da HTML ein verbindungsloses Protokoll ist, musst Du ja trotzdem Deine Daten irgendwie auf die nächste "Seite" hieven. Dabei unterstützt Dich die sog. Session. Zu Sessions lässt sich 'ne Menge sagen, aber ich will's mal kurz machen: Du solltest nach Möglichkeit Sessions nur per Cookie zulassen, anderenfalls besteht die Gefahr, dass Dir u.U. einer Deine Session "klaut". Um das etwas sicherer zu machen, kann man z.B. die Session auch gegen die IP prüfen. Aber der Aufwand wird dann halt immer größer.
Du könntest eigentlich nur dann ohne Sessions arbeiten, wenn Du die relevanten Daten wie Variablen usw. als Parameter in die URI packst und dann mit $_GET auf einer (Folge-)Seite wieder ausliest => viel zu aufwändig, zumal die Anzahl der Zeichen auch begrenzt ist (schlag mich tot, aber ich komm jetzt nicht auf die Größe - 256, 512, 1024?)
Die Session selber startest Du mit
Danach könnte es wie folgt weitergehen:
Auf den folgenden Seiten arbeitest Du dann nur noch mit dem bool'schen Wert von $_SESSION['LoggedIn']
Bei einem Logout haust Du entweder die ganze Variable raus (dann solltest Du aber auch auf isset() prüfen, da Dein errorlog sonst rapide anwächst wg. "undefined index"):
oder
Wenn Du verhindern möchtest, dass irgendjemand Deine Dateien aus dem admin-Ordner direkt über die URL aufruft (.htaccess):
Hier wird einfach auf die Startseite zurückgelenkt (so sie denn index.php heißt und natürlich das Wichtigste: Dein Server rewrite unterstützt)
Falls ich mich oder etwas an irgend 'ner Stelle wiederholt habe: sorry!
Greetz
cw
Da HTML ein verbindungsloses Protokoll ist, musst Du ja trotzdem Deine Daten irgendwie auf die nächste "Seite" hieven. Dabei unterstützt Dich die sog. Session. Zu Sessions lässt sich 'ne Menge sagen, aber ich will's mal kurz machen: Du solltest nach Möglichkeit Sessions nur per Cookie zulassen, anderenfalls besteht die Gefahr, dass Dir u.U. einer Deine Session "klaut". Um das etwas sicherer zu machen, kann man z.B. die Session auch gegen die IP prüfen. Aber der Aufwand wird dann halt immer größer.
Du könntest eigentlich nur dann ohne Sessions arbeiten, wenn Du die relevanten Daten wie Variablen usw. als Parameter in die URI packst und dann mit $_GET auf einer (Folge-)Seite wieder ausliest => viel zu aufwändig, zumal die Anzahl der Zeichen auch begrenzt ist (schlag mich tot, aber ich komm jetzt nicht auf die Größe - 256, 512, 1024?)
Die Session selber startest Du mit
PHP:
session_start();
PHP:
$_SESSION['LoggedIn']=isset($_SESSION['LoggedIn']) ? $_SESSION['LoggedIn'] : false;
if(isset($_POST['senden'])) { // "Formular-Button name="senden" gedrückt?
// Der Name für die Formfelder sei u_user und u_passwd
if($_POST['u_user']=="xxx" && $_POST['u_passwd']=="xyz") {
$_SESSION['LoggedIn']=true;
}
}
if($_SESSION['LoggedIn']===false) {
include("admin/login.php");
}
PHP:
if($_SESSION['LoggedIn']===true) {
include("admin/index.php");
} else {
// Tu irgendwas anderes
}
PHP:
unset($_SESSION['LoggedIn']);
PHP:
$_SESSION['LoggedIn']=false;
Wenn Du verhindern möchtest, dass irgendjemand Deine Dateien aus dem admin-Ordner direkt über die URL aufruft (.htaccess):
Code:
# Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteRule admin /index.php [R=301,L]
Falls ich mich oder etwas an irgend 'ner Stelle wiederholt habe: sorry!
Greetz
cw
Zuletzt bearbeitet: