使用Yii2之后就会有问题,如下
'request' => [ 'cookieValidationKey' => 'xxxxxx', 'csrfParam' => 'xxxxxx', ],
这里的配置,我记得官网的例子或者是在使用Yii2创建项目之后就会添加这一部分,这个会导致在所有的Conroller写的action,post请求接收的时候系统会默认做csrf安全验证,导致在做微信开发的时候,这块post的请求也失效了,当时在action中加了log日志,很奇怪为什么action的方法也不执行。
解决办法如下
在对应的Controller中添加
public $enableCsrfValidation = false;
这个是将请求的csrf验证做了关闭,也就是说所有请求到这个Controller的都不会做csrf的验证。这块的安全看来还是要通过其他方式避免一下,针对微信端的请求做处理,以实现安全的防护。
当然到这里说的也就只有程序上的问题,如果是真实的微信公众号的问题,那就只能找找微信客服解决了。