Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Know-how  Teil von  Sicherheit
Letztes Update: 04.09.2007 20:49:50

Navigation

Seite Startseite
Seite Aktuelles
Seite Seite News*
Seite Seite Pressemitteilungen*
Seite SELFPHP
Seite Seite Über SELFPHP
Seite Seite Werbung
Seite Seite Kontakt
Seite Seite Unsere Banner
Seite Seite Impressum
Seite Qozido
Seite Seite Diving Edition
Seite Seite Snorkeling Edition
Seite SELFPHP Dokumentation
Seite Seite PHP-Skripte
Seite Seite PHP Befehlsreferenz
Seite Seite PHP 5 Praxisbuch
Seite Seite PHP Code Snippets
Seite Seite SELFPHP in Buchform
Seite Anbieterverzeichnis
Seite Seite Globale Branchen
Seite Seite Webhosting/Server
Seite Services
Seite Seite Forum*
Seite Seite RSS-Feeds*
Seite Seite Downloads*
Seite Seite Gratis-Video-Lektionen*
Seite Seite SELFPHP auf Heft-CD*
Seite Seite Newsletter*
Seite Internet Security
 sponsored by  
Seite Stellenangebote*
Sedo - Bei uns wird PHP großgeschrieben
Seite Premium-Partner   
Webhosting/Serverlösungen
Seite Produktempfehlung   
Seite Seite SteadyBackup

 
* Link führt ins Internet


Anbieterverzeichnis
Informieren Sie sich über die Unternehmen in unserem Anbieterverzeichnis!  
 


SELFPHP Forum
Fragen rund um die Themen PHP? In über 100.000 Beiträgen finden Sie sicher die passende Antwort!*  


Newsletter
Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!*

Vorname: 
Name:
E-Mail:
 




 

Cookie-basierte Authentifizierung




Auf der Grundlage der zweiten Lösung für die Session-basierte Authentifizierung können Sie nach dem gleichen Schema vorgehen, um eine Cookie-basierte Lösung einzusetzen. Diese basiert ebenfalls auf insgesamt drei Dateien:
  • cookielogin.php – Enthält die Eingabemaske samt Authentifizierungsfunktion.
  • gruss.php – Auf diese Seite gelangt der Anwender nach dem Login.
  • logout.php – Hier wird der Anwender ausgeloggt und verabschiedet.

Die Cookie-basierte Lösung setzt voraus, dass der Anwender das Anlegen von Cookies auf dem Client gestattet. Sie hat gegenüber der Session-basierten Lösung den Vorteil, dass der Anwender selbst nach einem Neustart des Systems oder des Browsers eingeloggt bleibt. Erst nachdem sich der Anwender ordnungsgemäß ausgeloggt hat, wird er nicht mehr als authentifizierter Anwender erkannt.

Beispiel – cookielogin.php

<?

function check_auth($nutzer,$pwd) {
  $nutzer_liste = array ("matthias" => "mad", "caroline" => "car");
  if (isset($nutzer_liste[$nutzer]) && ($nutzer_liste[$nutzer] == $pwd)) {
    return true;
  } else {
    return false;
  }
}

$geheim_wort = 'geheim';
unset($username);

if ($_COOKIE['login']) {
  list($c_username, $cookie_hash) = split(',',$_COOKIE['login']);
  if (md5($c_username.$geheim_wort) == $cookie_hash) {
    $_POST["$username"] = $c_username;
  } else {
    echo "Sie besitzen kein gültiges Cookie!";
  }
}

if ($_POST["$username"]) {
  header('Location: gruss.php');
} else {
if (check_auth($_POST['username'], $_POST['passwort'])) {
  setcookie('login', $_POST['username'].','.md5($_POST['username'].$geheim_wort),time()+60*60*24*30);
  echo "Sie sind eingeloggt!";
  echo "<p><a href='gruss.php'>Weiter</a>";
} else {
echo <<<Login
<form method="post" action="cookielogin.php">
Benutzername:<br>
Benutzer:
<input type="text" name="username"><br>
Passwort:
<input type="password" name="passwort"><br>
<input type="submit" value="Login">
</form>
Login;
}
}

?>

Beispiel – gruss.php

<?

$geheim_wort = 'geheim';
unset($_POST["$username"]);

if ($_COOKIE['login']) {
  list($c_username, $cookie_hash) = split(',',$_COOKIE['login']);
  if (md5($c_username.$geheim_wort) == $cookie_hash) {
    $_POST["$username"] = $c_username;
  } else {
    echo "Sie besitzen kein gültiges Cookie!";
  }
}

if ($_POST["$username"]) {
  echo "Guten Tag " . $_POST["$username"];
  echo "<a href='logout.php'>Ausloggen</a>";
} else {
  echo "Guten Tag, anonymer Besucher!";
}

?>



Beispiel – logout.php

<?

$geheim_wort = 'geheim';
unset($_POST["$username"]);

if ($_COOKIE['login']) {
  list($c_username, $cookie_hash) = split(',',$_COOKIE['login']);
  if (md5($c_username.$geheim_wort) == $cookie_hash) {
    $_POST["$username"] = $c_username;
  } else {
    echo "Sie besitzen kein gültiges Cookie!";
  }
}

if ($_POST["$username"]) {
  setcookie('login','',time()-84000);
  echo "Bis bald ". $_POST["$username"];
  echo "<br><a href='cookielogin.php'>Login</a>";
} else {
  echo "Fehler beim Ausloggen!";
}

?>

Das Cookie verfällt nach 30 Tagen von selbst (time()+60*60*24*30).


 




 sponsored by

Sedo - Bei uns wird PHP großgeschrieben


VERIO - An NTT Communications Company


HighText iBusiness


Webspace-Verkauf.de


video2brain




 Premium-Partner
 Webhosting/Serverlösungen

BPI-Systeme


Premium-Partner Pixel X


Premium-Partner First Colo


Premium-Partner dogado Internet




Qozido


© 2001-2008 E-Mail SELFPHP - Damir Enseleit, info@selfphp.deImpressumKontakt