Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie die Administrator- und Benutzeranmeldung auf verschiedenen Seiten einer PHP-Website

So implementieren Sie die Administrator- und Benutzeranmeldung auf verschiedenen Seiten einer PHP-Website

PHPz
Freigeben: 2023-04-21 09:51:50
Original
1838 Leute haben es durchsucht

Auf vielen Websites sind die Seiten, auf die Administratoren und normale Benutzer nach der Anmeldung zugreifen können, oft unterschiedlich. Insbesondere bei Websites, die Privatsphäre und Vertraulichkeit schützen müssen, kann die Verwendung verschiedener Seitendesignlösungen die Zuverlässigkeit und Sicherheit des Systems verbessern. In diesem Artikel erfahren Sie, wie Sie die Administrator- und Benutzeranmeldung auf verschiedenen Seiten einer PHP-Website implementieren.

1. Nehmen Sie die Sitzung als Beispiel. Die Sitzung in PHP soll das Problem des Benutzeranmeldestatus lösen. Da es sich bei HTTP um ein zustandsloses Protokoll handelt, ist eine erneute Verbindung und Überprüfung der Authentifizierungsinformationen erforderlich. Der Sitzungsmechanismus kann dieses Problem lösen, indem er den Benutzerstatus auf der Serverseite speichert, den Sitzungsstatus beibehält und Sitzungsdaten zwischen Client und Server weitergibt.

1.1 Anmeldeseite

Zunächst können wir verschiedene Anmeldeseiten für Administratoren und Benutzer entwerfen. Am Beispiel der Administrator-Anmeldeseite können wir dem Seitenquellcode eine Kennung hinzufügen, um anzugeben, dass es sich bei der Seite um die Administrator-Anmeldeseite handelt. Beispiel:

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>管理员登录页面</title>
</head>
<body>
    <h1>管理员登录</h1>
    <form action="login.php" method="post">
        <input type="hidden" name="type" value="admin">
        <label>用户名:</label><input type="text" name="username"><br>
        <label>密码:</label><input type="password" name="password"><br>
        <input type="submit" value="登录">
    </form>
</body>
</html>
Nach dem Login kopieren

Auf dieser Seite übergeben wir einen Typwert über ein verstecktes Element, um anzugeben, dass die aktuelle Anmeldeseite die Administrator-Anmeldeseite ist. Dieser Typwert kann im Login-Handler im Backend verwendet werden.

1.2 Anmeldeverarbeitung

In PHP können wir das Array $_SESSION zum Speichern von Sitzungsdaten verwenden. Im Login-Handler können wir die Benutzer-Login-Kategorie anhand des Typwerts ermitteln und nach erfolgreicher Anmeldung die Benutzerinformationen in $_SESSION für die spätere Seitenverwendung speichern.

Zum Beispiel:

<?php
session_start();
if ($_POST[&#39;type&#39;] == &#39;admin&#39;) {
    //处理管理员登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;admin&#39; && $password == &#39;123456&#39;) {
        //登录成功
        $_SESSION[&#39;admin&#39;] = $username;
        header(&#39;Location:admin.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:admin_login.php&#39;);
    }
} else {
    //处理普通用户登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;user&#39; && $password == &#39;123456&#39;) {
        //登录成功
        $_SESSION[&#39;user&#39;] = $username;
        header(&#39;Location:user.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:user_login.php&#39;);
    }
}
?>
Nach dem Login kopieren

In diesem Login-Handler erhalten wir den Typwert, der vom Frontend über das $_POST-Array übergeben wird, um zu bestimmen, zu welcher Benutzerkategorie die aktuelle Anmeldung gehört. Wenn es dem Administrator gehört, werden die Benutzerinformationen der erfolgreichen Anmeldung in $_SESSION['admin'] gespeichert und gelangen zur Administratorseite. Wenn es sich um einen normalen Benutzer handelt, werden die Benutzerinformationen, die sich erfolgreich angemeldet haben, in $_SESSION['user'] gespeichert und gelangen zur Benutzerseite. Wenn die Anmeldung fehlschlägt, kehren Sie zur entsprechenden Anmeldeseite zurück.

1.3 Seitenberechtigungskontrolle

Wenn die Seiten, auf die Administratoren und normale Benutzer nach der Anmeldung zugreifen können, unterschiedlich sind, müssen wir die Berechtigungen auf nachfolgenden Seiten steuern. In PHP können wir die Kategorie des aktuellen Benutzers bestimmen, indem wir den Wert im Array $_SESSION beurteilen und so die Seiten steuern, auf die der Benutzer zugreifen kann.

Zum Beispiel können wir auf der Administratorseite die Berechtigungssteuerung wie folgt implementieren:

<?php
session_start();
if ($_SESSION[&#39;admin&#39;] != &#39;admin&#39;) {
    header(&#39;Location:admin_login.php&#39;);
    exit();
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>管理员页面</title>
</head>
<body>
    <h1>管理员页面</h1>
    <p>欢迎 <?php echo $_SESSION[&#39;admin&#39;]; ?> 登录</p>
    <a href="logout.php?type=admin">退出登录</a>
</body>
</html>
Nach dem Login kopieren

Auf dieser Seite ermitteln wir zunächst, ob der Wert von $_SESSION['admin'] 'admin' ist. Wenn nicht, springen wir zu Administrator Anmeldeseite. Wenn ja, können Sie den Inhalt der Administratorseite anzeigen, den Login-Benutzernamen auf der Seite anzeigen und einen Link zum Abmelden bereitstellen.

Auf ähnliche Weise kann auch die Berechtigungskontrolle anderer Seiten implementiert werden.

2. Nehmen Sie Cookies als Beispiel

Zusätzlich zu Sitzungen können wir Cookies auch verwenden, um die Berechtigungen von Administratoren und Benutzern zu steuern, die sich auf verschiedenen Seiten anmelden. In PHP können wir die Funktion setcookie() verwenden, um Cookie-Werte festzulegen. Im Login-Handler können wir je nach Benutzerkategorie unterschiedliche Cookie-Werte festlegen. Auf den Folgeseiten können wir auch basierend auf dem Cookie-Wert steuern, auf welche Seiten Benutzer zugreifen können.

2.1 Anmeldeverarbeitung

Nehmen Sie das Festlegen von Administrator- und normalen Benutzercookies als Beispiel. Wir können den folgenden Code im Anmeldehandler hinzufügen:

<?php
if ($_POST[&#39;type&#39;] == &#39;admin&#39;) {
    //处理管理员登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;admin&#39; && $password == &#39;123456&#39;) {
        //登录成功
        setcookie(&#39;loginType&#39;, &#39;admin&#39;, time()+3600);
        header(&#39;Location:admin.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:admin_login.php&#39;);
    }
} else {
    //处理普通用户登录
    $username = $_POST[&#39;username&#39;];
    $password = $_POST[&#39;password&#39;];
    if ($username == &#39;user&#39; && $password == &#39;123456&#39;) {
        //登录成功
        setcookie(&#39;loginType&#39;, &#39;user&#39;, time()+3600);
        header(&#39;Location:user.php&#39;);
    } else {
        //登录失败
        header(&#39;Location:user_login.php&#39;);
    }
}
?>
Nach dem Login kopieren

In diesem Code verwenden wir die Funktion setcookie(), um die loginType-Cookies festzulegen Legen Sie unterschiedliche Cookie-Werte für Administratoren und normale Benutzer fest. Dieses Cookie wird auf dem lokalen Client gespeichert, nachdem sich der Benutzer erfolgreich angemeldet hat, um es auf nachfolgenden Seiten zu verwenden.

2.2 Seitenberechtigungskontrolle

Beim Zugriff auf die Seite können wir die Kategorie des aktuellen Benutzers bestimmen, indem wir den Wert des Cookies beurteilen und eine Berechtigungskontrolle durchführen. In PHP können wir den vom Client gespeicherten Cookie-Wert über das Array $_COOKIE abrufen, um eine Berechtigungskontrolle zu erreichen.

Zum Beispiel können wir auf der Administratorseite die Berechtigungssteuerung wie folgt implementieren:

<?php
if ($_COOKIE[&#39;loginType&#39;] != &#39;admin&#39;) {
    header(&#39;Location:admin_login.php&#39;);
    exit();
}
?>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <title>管理员页面</title>
</head>
<body>
    <h1>管理员页面</h1>
    <p>欢迎 <?php echo $_COOKIE[&#39;loginType&#39;]; ?> 登录</p>
    <a href="logout.php?type=admin">退出登录</a>
</body>
</html>
Nach dem Login kopieren

Auf dieser Seite bestimmen wir die Kategorie des aktuellen Benutzers, indem wir beurteilen, ob der Wert von $_COOKIE['loginType'] 'admin' ist. . Wenn nicht, kehren Sie zur Administrator-Anmeldeseite zurück. Wenn ja, können Sie den Inhalt der Administratorseite anzeigen, den Login-Benutzernamen auf der Seite anzeigen und einen Link zum Abmelden bereitstellen.

Auf ähnliche Weise kann auch die Berechtigungskontrolle anderer Seiten implementiert werden.

Zusammenfassung

Anhand der obigen Beispiele können wir feststellen, dass zur Implementierung der Administrator- und Benutzeranmeldung auf verschiedenen Seiten einer PHP-Website Sitzungen oder Cookies zum Speichern des Benutzerstatus verwendet werden können und die Seiten, auf die der Benutzer zugreifen kann, gesteuert werden können durch Beurteilung des Benutzerstatus. Durch den Einsatz unterschiedlicher Methoden können wir für unterschiedliche Anwendungsszenarien wählen. Unabhängig von der verwendeten Methode muss auf die Sicherheit und Zuverlässigkeit der Informationen geachtet werden. Gleichzeitig müssen wir bei der Implementierung der Berechtigungskontrolle auch die Skalierbarkeit und Wartbarkeit der Anwendung berücksichtigen. Ein gutes Berechtigungskontrollschema kann die Sicherheit und Stabilität des Systems verbessern und den Benutzern bessere Dienste bieten.

Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Administrator- und Benutzeranmeldung auf verschiedenen Seiten einer PHP-Website. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage