记录Yii2框架开发遇到微信错误提示

转载地址安全

记录Yii2框架开发遇到微信错误提示

微信公共号开发,提示“该公众号暂时没法提供服务,请稍后再试”,如何解决?微信

之前使用Yii框架的时候,并无像Yii2,之前的Yii框架彷佛用起来在安全方面不如Yii2,后面在用Yii2的时候发现了一个有趣的事情。
之前在用Yii框架作微信方面的开发的时候,开发模式须要添加对应的接口。
这里必定要注意点的点是在作接口验证的时候是使用GET请求,这个毫无疑问没有任何问题,可是在验证完以后,进行接口上面的交互的时候就有问题了,使用的POST的请求。
若是是之前的Yii的话,若是没有作严格的post请求的csrf验证的话,应该都是正常的。
可是使用Yii2以后就会有问题,以下cookie

'request' => [
    'cookieValidationKey' => 'xxxxxx',
    'csrfParam' => 'xxxxxx',
],

这里的配置,我记得官网的例子或者是在使用Yii2建立项目以后就会添加这一部分,这个会致使在全部的Conroller写的action,post请求接收的时候系统会默认作csrf安全验证,致使在作微信开发的时候,这块post的请求也失效了,当时在action中加了log日志,很奇怪为何action的方法也不执行。
解决办法以下
在对应的Controller中添加微信开发

public $enableCsrfValidation = false;

这个是将请求的csrf验证作了关闭,也就是说全部请求到这个Controller的都不会作csrf的验证。这块的安全看来仍是要经过其余方式避免一下,针对微信端的请求作处理,以实现安全的防御。框架

固然到这里说的也就只有程序上的问题,若是是真实的微信公众号的问题,那就只能找找微信客服解决了。post

PS:
如今的客服全都机器的,问一句根本不知道你想要啥,说实话仍是喜欢跟人工客服打交道,人跟人交流不能退缩到原始,见面就只是哼哼,时代的进步不表明要减小沟通。spa

相关文章
相关标签/搜索