Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Know-how  Teil von  Sicherheit
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Cookie-basierte Authentifizierung: Seite 1

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



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!";
}

?>




Session-basierte Authentifizierung
 




:: Premium-Partner ::

Webhosting/Serverlösungen

PSW GROUP GmbH & Co. KG weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Sedo GmbH weitere Sponsoren
 


:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Passwortschutz für Verzeichnisse

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Alle Dateien mit bestimmter Dateierweiterung auflisten (PHP 5)

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de