【问题标题】:Laravel expire csrf token or page after form submission表单提交后 Laravel 过期 csrf 令牌或页面
【发布时间】:2016-09-11 05:56:49
【问题描述】:

我的应用程序有两个表单来提交输入以执行一些交易和计算,我想避免重新提交,我该如何避免呢?

例如如果用户尝试按下历史返回按钮,他不应该看到以前的表单,而是应该看到页面过期或自动重定向到第一个表单。

或者如何在 Laravel 中设置页面过期时间?

由于csrf_token到期在超时后执行并强制用户转到第一页或登录页。

【问题讨论】:

    标签: php forms laravel csrf


    【解决方案1】:

    你可以使用 laravel 的助手。 形式::open(array('url' => 'foo/bar')) 表单::close()

    在这种情况下,laravel 将代替您生成 csrf 令牌,您将轻松避免重新提交案例。 您也可以使用以下代码自己制作 csrf 令牌:Form::token()

    【讨论】:

    • 我使用的是 csrf_field() 方法,但我尝试了你的方法,我仍然可以返回并更改输入。提交第二次表单后,我将重定向到一个简单的 url,但 history.go(-1) 让我更改输入
    • 可以将token放到session中,客户端提交时,将token与session进行比较,如果为真则删除session,否则返回索引
    猜你喜欢
    • 2017-10-18
    • 2016-12-08
    • 2022-11-19
    • 2022-11-07
    • 2018-06-08
    • 2023-01-18
    • 2017-06-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多