csrf

框架默认开启对非本站域名post数据的检查,只要是非本站域post名过来的数据都返回403,可在配置中修改过滤选项

  1. 'CHECK_CSRF' => 1,
  2. //检查csrf跨站攻击 0、不检查,1、只检查post数据提交方式,2、get/post都检查 默认只检查post

当然这只是最基本过滤,最好是使用表单令牌或者验证码来防止csrf,表单令牌的使用很简单配置文件中设置

  1. 'FORM_TOKEN'=> 1, //表单令牌 0不开启,1开启 默认不开启

然后在模板的中设置{{token}}标签,框架会自动在其位置生成名称为CML_TOKEN的Input<input type="hidden" name="CML_TOKEN" value="xxxxx" />如:

  1. <form method="post" action="">
  2. {{token}}
  3. </form>

在控制器中使用\Cml\Secure::checkToken();检查令牌,通过返回true,不通过返回false

上面介绍了常见的安全过滤,更多的过滤方法参看\Cml\Secure

原文: http://doc.cmlphp.com/secure/csrf.html