Laravel 4.2 根据请求频率生成新的 CSRF 令牌?
Posted
技术标签:
【中文标题】Laravel 4.2 根据请求频率生成新的 CSRF 令牌?【英文标题】:Laravel 4.2 generates new CSRF token depending of requests frequecy? 【发布时间】:2014-11-01 18:31:42 【问题描述】:我在 Laravel 4.2 中遇到了 CSRF 令牌的奇怪行为。 - 令牌在请求之间发生变化(并非总是如此,而是随机变化)。
首先想到的是我在垃圾收集方面遇到了问题,或者 Laravel 中存在一些错误。甚至更多——这只发生在远程服务器上,本地一切正常。但是,服务器设置和会话配置是相同的。
php.ini
中的垃圾收集已关闭。唯一有效的 GC 是每 30 分钟由 cron 启动的 GC,但是,这也与此问题无关 - 我已经检查过。
1) 如果我不经常发送 ajax 请求(例如每秒一次)- 它可以在几个小时内正常工作。
2) 当我在短时间内(3-5 秒内 20 次)经常发送 ajax 请求时 - 在第 15 次或第 20 次请求后更改令牌。有时甚至在 10 日。
如果令牌看起来像“危险”请求,是否有一些隐藏的功能(但是我没有发现)会更改令牌,检查频率?
【问题讨论】:
我也遇到了类似的问题,你找到答案了吗? 不,我没有。只是有些奇怪。 您能否检查令牌是否无法验证并在其位置创建一个新令牌? 下面的答案对您的问题有帮助吗? 【参考方案1】:我相信这是因为 Laravel 文件会话驱动程序不提供锁定。我建议切换到app\config\session.php
中的数据库会话驱动程序,看看你是否得到了预期的结果。
以下是相关文档:http://laravel.com/docs/4.2/session#session-drivers
【讨论】:
以上是关于Laravel 4.2 根据请求频率生成新的 CSRF 令牌?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 laravel 4.2 中为特定类别任务自动生成序列号?