1

我需要在具有特定到期时间的控制器内创建 csrf 令牌。

return csrf_token();

我试着这样做csrf_token('300')

但我不确定它是否将 csrf_token 过期时间设置为 300 秒。

这样, csrf_token('300')在 Laravel 4.2 中生成具有过期时间的 csrf_token 的正确方法吗?

4

1 回答 1

1

如果您检查功能,会说这不起作用:

    //framework/src/Illuminate/Support/helpers.php
    function csrf_token()
    {
        $session = app('session');

        if (isset($session))
        {
            return $session->getToken();
        }

        throw new RuntimeException("Application session store not set.");
    }

它没有参数。但是您可以实现自己的 csrf_token 助手。

在当前实现中,应该使用新会话更新令牌。也许您可以重新生成会话 id 以获取新的 csrf 令牌。

https://laracasts.com/discuss/channels/general-discussion/session-lifetime-timeout-and-csrf-token-mismatch

于 2016-02-19T07:14:28.540 回答