PHP Laravel 利用CsrfToken部署项目是发生41
2019-12-20 本文已影响0人
全汪汪
第一时间有经验的人可能会觉得这肯定是token前后端不正确的原因。
确实很多时候419是因为前后端的token对不上,一般来说说,这种情况下要么是后端调用了多次csrf_token()方法导致token变化,前端所传_token没更新,从而引起419token对不上。亦或者说是前端post时 _token字段名没写对。也有可能你是跨域请求导致session里的值不一致,这个问题在使用Laravel gregwar/captcha 验证码第三方库时也很明显,跨域请求导致session中验证码的值对应不上,从而无法验证。
总的来说就是前后端token对不上这个原因可能是多发的,如跨域session不一致,前端字段传错等。
但是还有一个可能,那就是权限问题。
笔者这次是因为storge文件夹没设置权限导致419的出现。
估计是请求接口后台读写storge文件夹遭到了拒绝,从而导致419?也就是419不一定就是token问题。
我也不太清楚,因为突发奇想解决了一个早上的困扰所以速速来写文mark一下。
如果有人遇到和我同样的情况可以试试。