Aktueller Standort: Startseite> Neueste Artikel> Detaillierte Erläuterung der Methode zur Sicherheitsüberprüfung der PHP -Einreichungsquelle

Detaillierte Erläuterung der Methode zur Sicherheitsüberprüfung der PHP -Einreichungsquelle

M66 2025-09-20

So bestätigen Sie die Einreichungsquelle in PHP

In der PHP -Entwicklung ist die Bestätigung der Einreichungsquelle für Formulare von wesentlicher Bedeutung, um Fälschungsanfragen zu verhindern. Die folgenden Methoden können effektiv ermitteln, ob die Einreichungsanforderung von der erwarteten Seite stammt und die Sicherheit der Website verbessern.

Überprüfen Sie den HTTP -Referenz -Header

Der HTTP -Referenzkopf enthält die Quell -URL, auf der der Benutzer auf die aktuelle Seite zugreift. Durch Erkennen dieses Headers können Sie bestätigen, ob die Anfrage aus demselben Domain -Namen stammt:

 if (isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'yourdomain.com') !== false) {
  // Anfrage aus demselben Domainnamen
}

Überprüfen Sie die HTTP -Postdaten

Postdaten enthält Informationen zu Formulareinreichungen. Indem Sie prüfen, ob der Wert eines bestimmten Feldes (z. B. ein verstecktes Feld) den Erwartungen erfüllt, können Sie die Quelle der Anfrage überprüfen:

 if (isset($_POST['nonce']) && $_POST['nonce'] === 'expected_nonce') {
  // Anfrage aus dem erwarteten Formular
}

Mit CSRF -Token

Ein CSRF -Token ist eine Zeichenfolge, die in jeder Sitzung zufällig generiert wird. Es kann als verstecktes Feld im Formular eingereicht und mit dem Token in der Sitzung verglichen werden:

 // In einer Sitzung speichern CSRF Token
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));

// Fügen Sie versteckte Felder in die Form ein
<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>">

// Überprüfen Sie eingereichtToken
if (isset($_POST['csrf_token']) && $_POST['csrf_token'] === $_SESSION['csrf_token']) {
  // Anfrage aus dem erwarteten Formular
}

Überprüfen Sie mit Salz

Salz ist eine zufällige Zeichenfolge, die zu den festgelegten Daten hinzugefügt wird, und Hashed, um Datenfälle zu verhindern:

 // Salz erzeugen
$salt = bin2hex(random_bytes(32));

// Daten Salz hinzufügen
$data = 'some_data' . $salt;

// Hash -Daten
$hash = hash('sha256', $data);

// Überprüfen Sie eingereicht hash
if (isset($_POST['hash']) && $_POST['hash'] === $hash) {
  // Anfrage aus dem erwarteten Formular
}

Zusammenfassen

Mit einem oder mehreren der oben genannten Methoden können Entwickler die Quelle der Formulareinreichungen in PHP effektiv bestätigen, wodurch Fälschungsanfragen verhindern und die Sicherheit von Webanwendungen verbessert werden.