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