Heim > Backend-Entwicklung > PHP-Problem > So verhindern Sie, dass nicht angemeldete Benutzer direkt zum Backend in PHP springen

So verhindern Sie, dass nicht angemeldete Benutzer direkt zum Backend in PHP springen

PHPz
Freigeben: 2023-03-23 14:30:01
Original
1711 Leute haben es durchsucht

Beim Einsatz von PHP zur Entwicklung einer Website ist die Gewährleistung der Sicherheit der Benutzerinformationen eine sehr wichtige Aufgabe. Eine davon besteht darin, nicht angemeldeten Benutzern zu verbieten, direkt zum Backend zu springen, um illegale Vorgänge, Informationslecks und andere Probleme zu verhindern. In diesem Artikel wird erläutert, wie Sie mit PHP-Codierung verhindern können, dass nicht angemeldete Benutzer direkt auf das Backend zugreifen.

1. Anmeldung mit Sitzung

Um die Sicherheit der Benutzerinformationen zu gewährleisten, werden Sitzungen häufig zum Speichern grundlegender Benutzerinformationen bei der Website-Entwicklung verwendet, einschließlich Benutzer-ID, Benutzername, Passwort usw. Verwenden Sie die Sitzung zum Anmelden kann auch effektiv verhindern, dass einige Websites angemeldet werden. Sicherheitsprobleme sorgen dafür, dass die Website stabiler und sicherer läuft.

Session ist eine Technologie zur serverseitigen Speicherung und zum Zugriff auf Informationen. Ihr Vorteil besteht darin, dass sie sehr flexibel gespeichert und genutzt werden kann. Um die Sitzung zu verwenden, müssen Sie den Sitzungsschalter aktivieren und den Sitzungsspeicherpfad festlegen. Verwenden Sie nach der Anmeldung die Funktion session_register(), um Benutzerinformationen in der Sitzung zu speichern. Der Code ist wie folgt implementiert:

<?php
session_start();
$username="admin";//定义用户名
$password="123456";//定义密码
if($_POST[&#39;username&#39;]==$username && $_POST[&#39;password&#39;]==$password)
{
  $_SESSION[&#39;username&#39;]=$username;//将用户名存入内存中
  $_SESSION[&#39;password&#39;]=$password;//将密码存入内存中
  header("Location: admin.php");//跳转到后台页面
  exit();
}
?>
Nach dem Login kopieren

2 . Um zu verhindern, dass nicht angemeldete Benutzer direkt auf das Backend zugreifen. Funktion

implementiert die Funktion, nicht angemeldeten Benutzern den direkten Zugriff auf das Backend zu verbieten. Es muss festgestellt werden, ob sie sich auf der Backend-Seite angemeldet haben. Sie können den folgenden Code zum Kopf der Hintergrundseite hinzufügen:

<?php
session_start();
if(!isset($_SESSION[&#39;username&#39;])||!isset($_SESSION[&#39;password&#39;]))
{
    header("Location: index.php");//跳转到登陆页面(也可自定义其他跳转页面)
    exit();
}
?>
Nach dem Login kopieren

Codeerklärung: Aktivieren Sie zuerst die Sitzung und stellen Sie dann fest, ob sich ein Benutzer angemeldet hat. Wenn nicht, springen Sie direkt zurück zur Anmeldeseite und beenden Sie PHP.

Für eine bessere Informationssicherheit wird empfohlen, die Funktion session_regenerate_id() nach session_start() festzulegen, um die session_id zu aktualisieren und so die Sicherheit der Website zu erhöhen.

3. Vollständiger Beispielcode

Das Folgende ist ein vollständiger Beispielcode, der nicht angemeldeten Benutzern den direkten Zugriff auf das Backend als Referenz verbietet:

<?php
//login.php 登陆页面
session_start();
$username="admin";//定义用户名
$password="123456";//定义密码
if($_POST[&#39;username&#39;]==$username && $_POST[&#39;password&#39;]==$password)
{
  $_SESSION[&#39;username&#39;]=$username;
  $_SESSION[&#39;password&#39;]=$password;
  header("Location: admin.php");//跳转到后台页面
  exit();
}
?>

<?php
//admin.php 后台页面
session_start();
if(!isset($_SESSION[&#39;username&#39;])||!isset($_SESSION[&#39;password&#39;]))
{
    header("Location: login.php");//跳转到登陆页面(也可自定义其他跳转页面)
    exit();
}

session_regenerate_id(true);// 更新 session_id
?>
Nach dem Login kopieren

Kurz gesagt, die oben genannten Methoden sind wirksame Möglichkeiten, Website-Informationen zu schützen Sicherheit, aber es gibt auch einige Risiken, insbesondere bei der Verwendung von Sitzungen. Sie müssen besonders vorsichtig sein, um Probleme wie den Verlust von Benutzerinformationen zu vermeiden.

Das obige ist der detaillierte Inhalt vonSo verhindern Sie, dass nicht angemeldete Benutzer direkt zum Backend in PHP springen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
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