CSRF跨站请求伪造是一种网络攻击方式
2025-04-21
6
参考资料
CSRF防护
简介:
CSRF(Cross-Site Request Forgery)跨站请求伪造是一种网络攻击方式,攻击者诱导用户在当前已登录的Web应用上执行非本意的操作。CSRF防护旨在防止此类攻击。
功能说明:
验证请求来源
检查Referer头
使用CSRF Token
设置SameSite Cookie属性
验证自定义HTTP头
操作示例(以CSRF Token为例):
服务端生成Token:
// 生成随机Token $csrfToken = bin2hex(random_bytes(32)); $_SESSION['csrf_token'] = $csrfToken;
表单中包含Token:
<form action="/process" method="POST"> <input type="hidden" name="csrf_token" value="<?php echo $csrfToken; ?>"> <!-- 其他表单字段 --> <input type="submit" value="提交"> </form>
服务端验证Token:
if ($_POST['csrf_token'] !== $_SESSION['csrf_token']) { // Token不匹配,拒绝请求 die("CSRF验证失败"); } // 继续处理请求
AJAX请求示例:
// 从meta标签获取Token const token = document.querySelector('meta[name="csrf-token"]').content; fetch('/api/endpoint', { method: 'POST', headers: { 'X-CSRF-TOKEN': token, 'Content-Type': 'application/json' }, body: JSON.stringify({data: 'example'}) });
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。