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:
 
 
 
Session-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



Eine weitere Möglichkeit der Authentifizierung besteht darin, die Zugangsdaten eines Anwenders auszuwerten und in einer Session zu registrieren. Sie sollten bei der Übertragung mithilfe eines HTML-Formulars berücksichtigen, dass das Passwort im Klartext übertragen wird und daher die POST-Methode eingesetzt werden sollte. Sie könnten zusätzlich clientseitig das Passwort mithilfe von JavaScript verschlüsseln. Dies setzt jedoch voraus, dass beim Anwender die Ausführung von JavaScript zugelassen ist.

Um das folgende Beispiel so flexibel wie möglich zu gestalten, sollten Sie dafür sorgen, dass die Benutzeridentifizierung in eine externe Datei ausgelagert wird. Ich habe hierfür die Datei check.php angelegt. In dieser befindet sich folgende Funktion:

<?php

// Nutzeridenifikations-Funktion
function check_nutzer($pwddatei=".htpasswd") {
  session_start();

  if (isset($_SESSION["versuch"]) && $_SESSION["versuch"]>2) {
    return false;
  }

  if (!isset($_SESSION["auth"]) && !isset($_POST["username"])) {
    return false;
  }

  if (isset($_POST["username"])) {
    if (!isset($_SESSION["versuch"])) {
      $_SESSION["versuch"]=1;
    } else {
      $_SESSION["versuch"]++;
    }

    if (!isset($_COOKIE[session_name()])) {
      return false;
    }

    $nutzer = trim($_POST["username"]);
    $pwd = trim($_POST["passwort"]);

    if (strlen($nutzer)<3) {
      return false;
    }

    $pwd=$nutzer.":".crypt($pwd,$nutzer[2].$nutzer[1])."\n";
    $pwd_liste=file($pwddatei);

    if (array_search($pwd,$pwd_liste)!== false) {
      $_SESSION["auth"]=$nutzer;
      return true;
    } else {
      return false;
    }
  }

  if (isset($_GET["logout"])) {
    session_destroy();
    session_unset();
    unset($_SESSION);
    return false;
  } else {
    return true;
  }
}

?>

Die Datei, welche die Eingabemaske samt Funktionsaufruf enthält, wird als login.php angelegt:



HTTP-Authentifizierung via HTACCESS
 




:: Premium-Partner ::

Webhosting/Serverlösungen

Pixel X weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Sedo GmbH weitere Sponsoren
 


:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken 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


Dynamische Seitennavigation – Seite 1 von n

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

SELFPHP Code Snippet


Statusinformationen zu den Speicher-Engines des Servers anzeigen

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