从Yii2的Request看其CSRF防范策略

用ajax请求还是用命令行CURL请求总是会得到 http400:Bad Request的错误,

而如果用Web网页方式GET访问(去除verbFilter的POST限制),是正常的,是CSRF验证的原因

因为Web网页访问的时候form表单中会有对应的一个隐藏input:_csrf进行了验证才可以正常进行访问;

而非网页访问方式(不通过Web表单)是无法通过csrf验证的。

禁用enableCookieValidation让分析CSRF的过程变得简单

在Controller中,加上

public $enableCsrfValidation = false;

 

 

posted @ 2015-10-16 15:04  慕尘  阅读(210)  评论(0编辑  收藏  举报