CSRF防护 #
一、CSRF原理 #
跨站请求伪造攻击,攻击者诱导用户在已登录状态下执行非预期操作。
二、Token防护 #
2.1 生成Token #
php
<?php
session_start();
$_SESSION['csrf_token'] = bin2hex(random_bytes(32));
2.2 表单中包含Token #
html
<input type="hidden" name="csrf_token" value="<?php echo $_SESSION['csrf_token']; ?>">
2.3 验证Token #
php
<?php
session_start();
if (!hash_equals($_SESSION['csrf_token'], $_POST['csrf_token'])) {
die('CSRF验证失败');
}
三、SameSite Cookie #
php
<?php
session_set_cookie_params([
'samesite' => 'Strict'
]);
四、总结 #
本章学习了CSRF防护,下一章将学习密码安全。
最后更新:2026-03-26