代码示例

前端表单
// 在表单中添加 CSRF token // 或使用 AJAX $.ajax({ url: '/api/endpoint', type: 'POST', headers: { 'X-CSRF-Token': csrfToken }, data: data, success: function(response) { // 处理响应 } });
白名单配置
// FrontendCsrf.php 中的白名单 // 以下路径跳过 CSRF 验证: // member/login, member/register, member/forgotpassword // member/resetpassword, member/doforgotpassword // member/checklogin, member/checkiflogin, member/checkifloginajax // member/userregverify, saler/login, saler/dologin, saler/checklogin // pay/notifyurl, pay/mnotifyurl, pay/alipay_notify, pay/alipay_return // pay/wechat_notify, pay/back // wechat/notify, wechat/callback // page/bj, page/signupformail

CSRF 防护说明

工作原理

1. 用户访问页面时,生成 CSRF Token 并存储在 Session 中

2. 表单提交时,携带 Token 进行验证

3. 验证通过后,轮换 Token 防止重复使用

白名单配置

以下路径跳过 CSRF 验证:

member/login, member/register, member/forgotpassword, member/resetpassword

member/checklogin, member/checkiflogin, member/userregverify

saler/login, saler/dologin, saler/checklogin

pay/notifyurl, pay/mnotifyurl, pay/alipay_notify, pay/wechat_notify

wechat/notify, wechat/callback

page/bj, page/signupformail