问题: 您能否详细说明如何应用维基百科文章中提到的技术防止 PHP 中的 CSRF,特别是在 Kohana 中
答案:
要防止 PHP 中的 CSRF,您可以实施以下措施:
// 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();
在 Kohana 中,您可以使用 Request::referrer() 方法检索引用 URL。为了确保引用网址合法,您可以将其与允许引用您网站的受信任域列表进行比较。
通过实施这些措施,您可以帮助保护您的 PHP 应用程序免受 CSRF 攻击。
以上是如何防止 PHP 中的 CSRF 攻击,特别是使用 Kohana 框架?的详细内容。更多信息请关注PHP中文网其他相关文章!