我在Laravel 4.2中遇到了CSRF token的奇怪行为。- token在不同的请求之间改变(不总是,但随机地)。
第一个想法是,我在垃圾收集方面遇到了问题,或者Laravel中有一些bug。更重要的是,这只发生在远程服务器上,而在本地一切正常。但是,服务器设置和会话配置是相同的。
php.ini中的垃圾回收已关闭。唯一有效的GC是cron每30分钟启动一次的GC,然而,这也与这个问题无关--我已经检查过了。
1)如果我不频繁地发送ajax请求(例如,每秒一次)-它在几个小时内正常工作,没有问题。
2)当我在很短的时间内频繁地发送ajax请求时( 3-5秒内发送20次)-在第15次或第20次请求之后,令牌被更改。有时甚至是在10号.
有没有一些隐藏的功能(我没有发现),可以改变令牌,如果它看起来像‘危险的’请求,检查频率?
发布于 2015-02-11 22:44:47
我相信这是因为Laravel文件会话驱动程序不提供锁定。我建议切换到app\config\session.php中的数据库会话驱动程序,看看是否能得到预期的结果。
以下是相关文档:http://laravel.com/docs/4.2/session#session-drivers
https://stackoverflow.com/questions/25725940
复制相似问题