Validieren von GET- und POST-Parametern
Um CSRF-Angriffe zu verhindern ist es wichtig, Benutzereingaben zu validieren, nicht nur in Cookies, sondern auch in GET- und POST-Parametern. Dies kann erreicht werden, indem übermittelte Werte mit gespeicherten Werten oder erwarteten Datentypen abgeglichen werden.
Überprüfen des HTTP-Referer-Headers
Der HTTP-Referer-Header gibt die URL der Seite an, die habe den Antrag gestellt. Obwohl sein Wert nicht immer zuverlässig ist, kann er zusätzliche Sicherheit bieten, indem er prüft, ob die verweisende Seite mit einer vertrauenswürdigen Domäne übereinstimmt.
Implementierung im Kohana Framework
Im Kohana Framework Sie können den Referer-Header abrufen mit:
$referrer = $this->request->headers['referer'];
Einmalige Validierung Tokens
Ein sichererer Ansatz besteht in der Verwendung eines einmaligen Tokens, der für jede Sitzung generiert und mit einer bestimmten Aktion verknüpft wird. Dieses Token sollte:
Beispielimplementierung:
// On the confirmation page $token = md5(uniqid()); // Generate and store token // On the action page if (isset($_POST['token']) && $_POST['token'] === $token) { // Validate token and perform action ... } else { // CSRF attack detected }
Zusätzlich Tipps
Das obige ist der detaillierte Inhalt vonWie können PHP-Entwickler Cross-Site Request Forgery (CSRF)-Angriffe wirksam verhindern?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!