Aktueller Standort: Startseite> Neueste Artikel> Tutorial zur HTTP -Anmeldeverifizierung für PHP: Grundlegende Authentifizierung und Benutzeranmeldung

Tutorial zur HTTP -Anmeldeverifizierung für PHP: Grundlegende Authentifizierung und Benutzeranmeldung

gitbox 2025-06-28

einführen

In der Webentwicklung ist es häufig notwendig, sich anzumelden, um Benutzer zu verifizieren, um die Sicherheit sensibler Informationen zu schützen. In diesem Artikel wird detailliert eingeführt, wie PHP zur Implementierung der HTTP -Anmeldeprüfung verwendet wird.

Das Prinzip der HTTP -Anmeldeprüfung

Die HTTP -Anmeldeverifizierung basiert auf dem grundlegenden Authentifizierungsmechanismus des HTTP -Protokolls. Wenn der Kunde eine Anfrage sendet, wird er einen Benutzernamen und ein Passwort enthält. Nach Erhalt der Anfrage bestätigt der Server die Richtigkeit dieser Informationen. Nachdem die Überprüfung erfolgreich ist, gibt der Server 200 OK -Statuscode zurück, und wenn er fehlschlägt, gibt er 401 nicht autorisierter Statuscode zurück.

Autorisierungsfeld in Anforderungsheader

Die HTTP -Anmeldeinformationen der HTTP -Login -Überprüfung werden normalerweise im Bereich des Autorisierungsfelds des Anforderungsheaders gespeichert und befinden sich im Format "Basic Base64 (Benutzername: Passwort)".

 
function getAuthorizationHeader() {
    $headers = apache_request_headers();
    if (isset($headers['Authorization'])) {
        return $headers['Authorization'];
    }
    return null;
}
$authHeader = getAuthorizationHeader();

Analyse von Autorisierungsfeldern

Analysieren Sie den Benutzernamen und das Passwort aus dem Feld Autorisierungsfeld.

 
function parseBasicAuth($authHeader) {
    list($username, $password) = explode(':', base64_decode(substr($authHeader, 6)));
    return array(
        'username' => $username,
        'password' => $password
    );
}
$credentials = parseBasicAuth($authHeader);

Implementieren Sie die HTTP -Anmeldeverifizierung

Als nächstes werden wir vorstellen, wie die HTTP -Anmeldeprüfung mit PHP implementiert wird.

Überprüfen Sie den Benutzernamen und das Passwort

Zunächst müssen wir die Richtigkeit des Benutzernamens und des Passworts überprüfen. Benutzername und Kennwort werden normalerweise in einer Datenbank gespeichert und mit den Eingaben des Benutzers verglichen.

 
function authenticate($username, $password) {
    // Holen Sie sich das Passwort des entsprechenden Benutzers aus der Datenbank
    $storedPassword = '...';
    if ($password == $storedPassword) {
        return true;
    } else {
        return false;
    }
}
if (authenticate($credentials['username'], $credentials['password'])) {
    echo 'Überprüfung verabschiedet';
} else {
    header('HTTP/1.1 401 Unauthorized');
    echo 'Überprüfung fehlgeschlagen';
    exit;
}

Speichern Sie den Anmeldestatus

Nachdem die Überprüfung bestanden wurde, können Sie den Anmeldestatus in der Sitzung für den nachfolgenden Zugriff speichern.

 
session_start();
$_SESSION['isLoggedIn'] = true;

Bestimmen Sie den Anmeldestatus

Bestimmen Sie auf der Seite oder der Anforderung, die eine Anmeldeturbestätigung erfordert, den Anmeldestatus. Wenn der Benutzer nicht angemeldet ist, wird ein nicht autorisierter Statuscode zurückgegeben.

 
function checkLoginStatus() {
    session_start();
    if (isset($_SESSION['isLoggedIn']) && $_SESSION['isLoggedIn'] === true) {
        return true;
    } else {
        return false;
    }
}
if (!checkLoginStatus()) {
    header('HTTP/1.1 401 Unauthorized');
    echo 'Nicht angemeldet';
    exit;
}

Zusammenfassen

In den oben genannten Schritten können wir PHP verwenden, um grundlegende HTTP -Anmeldungsüberprüfungsfunktionen zu implementieren. Diese Anmeldeverifizierungsmethode ist einfach und universell und funktioniert für die meisten Webanwendungen gut. In den tatsächlichen Anwendungen muss die Sicherheit der Anmeldeverifizierung entsprechend den spezifischen Anforderungen verbessert werden.