轉載地址安全
微信公共號開發,提示「該公衆號暫時沒法提供服務,請稍後再試」,如何解決?微信
之前使用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