Csrf校验

该注解从v2.0.6版本起支持,#Csrf注解用于校验Csrf令牌是否有效,该注解只支持HTTP服务,分别支持参数传递如下:

<?php
type:令牌数据存储的类型,目前支持4个类型,分别为:get、post、raw、header,默认:post
name:数据字段名称,默认:csrf
clean:校验通过是否直接清除令牌,默认:true
tips:输出的提示内容,不传入则使用系统编译提示

一个完整的案例如下:

<?php
class Index extends Controller
{
	/**
	 * @RequestMapping(route="/index", method="get", title="主页")
	 * @Csrf(type="get", name="token", clean="true", tips="令牌错误")
	*/
	public function index() {
		// Csrf令牌通过 get[token]提交上来
		return $this->fetch('通过校验了');
	}
	/**
	 * @RequestMapping(route="/test", method="get", title="主页")
	*/
	public function test() {
		// 这里生成Token到视图,然后放到表单里提交到index路由
		return $this->fetch(csrf());
	}
}

当校验不通过时,会回调到生命周期\other\lifecycle\csrf_error.php类中进行处理。