Frage: Können Sie näher erläutern, wie die im Wikipedia-Artikel erwähnten Techniken angewendet werden? um CSRF in PHP zu verhindern, insbesondere im Kohana Framework?
Antwort:
Um CSRF in PHP zu verhindern, können Sie die folgenden Maßnahmen implementieren:
// On the page requesting to delete a record session_start(); $token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : ""; if (!$token) { // Generate and persist a new token $token = md5(uniqid()); $_SESSION['delete_customer_token']= $token; } session_write_close();
// When actually performing the deletion session_start(); // Validate the token $token = isset($_SESSION['delete_customer_token']) ? $_SESSION['delete_customer_token'] : ""; if ($token && $_POST['token'] === $token) { // Delete the record ... // Remove the token after successful deletion unset($_SESSION['delete_customer_token']); } else { // Log a potential CSRF attack } session_write_close();
In Kohana können Sie die Referrer-URL mithilfe der Methode Request::referrer() abrufen. Um sicherzustellen, dass die Referrer-URL legitim ist, können Sie sie mit einer vertrauenswürdigen Liste von Domänen vergleichen, die auf Ihre Website verweisen dürfen.
Durch die Implementierung dieser Maßnahmen können Sie dazu beitragen, Ihre PHP-Anwendungen vor CSRF-Angriffen zu schützen.
Das obige ist der detaillierte Inhalt vonWie kann ich CSRF-Angriffe in PHP verhindern, insbesondere mit dem Kohana Framework?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!