CSRF
为了防止跨站请求伪造,后台附带了请求验证方法.
如某位后台用户在增加文章时,编辑器内插入了一张图片
<img src="?do=admin:logout">
当任意后台用户在后台编辑这篇文章时,将会自动退出,所以admin:logout 内需要csrf验证.如果方法内不存在恶意的行为,可以不使用csrf验证.
C('admin:csrfForm');//返回csrf值
C('admin:csrfForm',1);//返回<input type="hidden" name="csrf" value="csrf值">,可以将此信息存放在模板form标签内
C('admin:csrfForm',2);//返回csrf=csrf值,get类请求可以在表单网址中附带上此信息
当提交表单时,附带csrf值将传入给后台,对于post请求,必须附带当前csrf值,否则后台不会载入方法.
方法内主动验证
get类请求需要在方法内主动验证csrf值是否正确,
function xxx(){
if(!C('this:csrfCheck')) {
Return false;
}
//其它代码
}
在后台通过Layui组件layui.admin.req方法提交的请求会自带csrf值