使用yii2框架发送post请求报错400错误,关闭开启csrf的验证解决方案
400错误原因
出现这个错误的原因是因为yii框架默认是开启了csrf验证
yii2的csrf的实现功能是在yii\web\request类实现功能的。
request类中的属性,默认是true的。
public $enableCsrfValidation = true;
所以我们在配置文件中的request组件中可以配置该值
request => [
'enableCookieValidation' => true,
]
想要详细了解你看request组件的csrf
全局使用csrf验证
我们直接在配置文件中设置enableCookieValidation为true
request => [
'enableCookieValidation' => true,
]
如果不需要使用csrf的话,设置'enableCookieValidation' => false,
但是这是不安全的,因此yii2的yii\web\request中的enableCookieValidation默认设置为true的,
也就是默认开启csrf的,所以我们也可以不配置这个值,默认开启。
如果开启csrf,因为这是全局的,所以在任何的post请求都会要求认证,所以我们在post数据的时候,就必须设置csrf的数据隐藏在表单中。
<input type="hidden" name=