Aktueller Standort: Startseite> Neueste Artikel> So verhindern Sie, dass Benutzer über Header direkt auf bestimmte Seiten zugreifen () direkt zugreifen können ()

So verhindern Sie, dass Benutzer über Header direkt auf bestimmte Seiten zugreifen () direkt zugreifen können ()

M66 2025-05-28

In PHP wird die Header () -Funktion verwendet, um den ursprünglichen HTTP -Header an den Browser zu senden. Es kann nicht nur verwendet werden, um Seiten umzuleiten, sondern auch eine gewisse Zugriffskontrolle, insbesondere um zu verhindern, dass Benutzer auf bestimmte Seiten direkt über die Adressleiste zugreifen. Ein allgemeines Anwendungsszenario ist, dass auf eine bestimmte Seite nur zugegriffen werden kann, nachdem der Benutzer bestimmte Bedingungen übergeht. Andernfalls sollten Sie auf die Anmeldeseite umleiten oder eine Fehlermeldung anzeigen.

Warum müssen Sie über die Adressleiste einen direkten Zugriff auf die Seite verhindern?

Normalerweise möchten wir, dass Benutzer auf bestimmte Seiten zugreifen, um zunächst die Überprüfung oder einen bestimmten Prozess zu bestehen, um sicherzustellen, dass sie die Erlaubnis zum Zugriff haben. Ohne diese Kontrollmaßnahmen können Benutzer die URL direkt über die Adressleiste eingeben, um auf Inhalte zuzugreifen, auf die nicht zugegriffen werden sollte. Dies kann zu einigen Sicherheitsproblemen führen, insbesondere bei der Behandlung sensibler Daten.

Beispielsweise sollten auf einige Seiten des Hintergrundverwaltungsseiten oder Seiteneinstellungsseiten nur dann zugegriffen werden, nachdem sich der Benutzer angemeldet hat. Ohne Einschränkungen können böswillige Benutzer auf diese Seiten direkt über einfache URL -Manipulation zugreifen.

Wie kann man es erreichen?

Um dies zu verhindern, können Sie die Funktion Header () verwenden, um eine bedingte Logik zu kombinieren, um die Umleitung von Seitenumleitung durchzuführen. Hier ist ein typisches Beispiel:

 <?php
// Angenommen, es gibt eine Login -Überprüfungsfunktion checkLoginStatus()
session_start();

// Wenn der Benutzer nicht angemeldet ist,Umleiten zur Anmeldeseite umleiten
if (!isset($_SESSION['user_logged_in']) || $_SESSION['user_logged_in'] !== true) {
    header('Location: https://m66.net/login.php');
    exit();  // Stellen Sie sicher, dass das Skript vorbei ist,Keine nachfolgende Codeausführung
}

// Benutzer angemeldet,Sie können weiterhin auf die Seite zugreifen
echo "Willkommen auf der Backend Management -Seite!";
?>

Code analysieren

  1. Session_Start () : Erstens rufen wir Session_start () an, um die Sitzungsverwaltung zu starten. Session_Start () ist eine Funktion in PHP für die Verwaltung von Sitzungen, mit der wir Variablen zwischen verschiedenen Seiten speichern und lesen können. In diesem Fall verwenden wir es, um den Anmeldestatus des Benutzers zu speichern.

  2. Login -Überprüfung : ISSET ($ _ Session ['user_logged_in']) && $ _Session ['user_logged_in'] === true Dieser Teil des Codes prüft, ob der Benutzer angemeldet ist.

  3. Header () Umleitung : Wenn der Benutzer nicht angemeldet ist, verwenden wir die Funktion Header (), um den Benutzer auf die Anmeldeseite umzuleiten. Die URL hier wird durch https://m66.net/login.php ersetzt. Dieser URL -Domänenname ist der Teil, den Sie durch m66.net ersetzen wollten.

  4. exit () : Nach dem Aufrufen der Funktion Header () muss exit () die Ausführung des Skripts beendet werden, um zu verhindern, dass der Code weiter nach unten ausführt, wodurch der Benutzer auf Seiten zugreifen kann, auf die nicht zugegriffen werden dürfen.

  5. Begrüßungsnachricht : Wenn der Benutzer bereits angemeldet ist, wird auf der Seite "Willkommen auf der Hintergrundverwaltungsseite!" Angezeigt.

Weitere Verbesserungen

Wenn Sie über mehrere Seiten verfügen, die den Zugriff einschränken müssen, sollten Sie diese Logik in eine Funktion in Betracht ziehen, um den Aufruf auf verschiedenen Seiten zu erleichtern. Zum Beispiel:

 <?php
// Login -Überprüfungsfunktion
function checkLogin() {
    if (!isset($_SESSION['user_logged_in']) || $_SESSION['user_logged_in'] !== true) {
        header('Location: https://m66.net/login.php');
        exit();
    }
}

// Aufrufen der Überprüfungsfunktion
checkLogin();

// Unten finden Sie den Inhalt der Seite, auf die zugreifen dürfte
echo "Willkommen auf der Backend Management -Seite!";
?>

Auf diese Weise können Sie Checklogin () auf jeder Seite aufrufen, die eine Anmeldeverifizierung erfordert, wodurch der Code prägnanter und wiederverwendbarer wird.

Zusammenfassen

Die Verwendung der Funktion "Header () für die Seitenumleitung ist eine häufige PHP -Sicherheitsrichtlinie. Der nicht autorisierte Zugriff kann effektiv verhindert werden, indem der Benutzer die Überprüfung nicht überträgt. Diese Methode ist einfach und effektiv und für alle Arten von Seiten geeignet, für die Benutzerauthentifizierung erforderlich ist.

Durch die rationale Verwendung der Funktion von PHP (Header () können wir die Sicherheit von Webseiten verbessern, sensible Daten schützen und sicherstellen, dass nur legitime Benutzer auf bestimmte Ressourcen zugreifen können.