【问题标题】:The page has expired due to inactivity由于不活动,该页面已过期
【发布时间】:2018-12-31 06:18:02
【问题描述】:

你们怎么了!

我在本地开发了一个系统,它运行良好。当我将系统放在 Web 服务器上时,它开始出现此错误。

页面因不活动而过期。

我不想将路由作为 csrf 的例外。一个原因是系统会被多人访问

服务器对存储文件夹具有所需的权限。

我的脑袋:

  <meta name="csrf-token" content="{{csrf_token()}}"/>

我的表单如下所示:

<form id="login" role="form" method="post" autocomplete="off" action="{{route('postLogar')}}">
{{csrf_field()}}
<div class="col-md-12">
    <div class="row">
        <div class="col-xs-6 col-md-6">
            <input type="text" id="nr_cpf" name="nr_cpf" class="form-control input-lg"
            value="" placeholder="CPF" maxlength="11" onBlur="validarCPF(this.value);" required/>
        </div>
        <div class="col-xs-6 col-md-6">
            <input type="text" id="nr_matricula" name="nr_matricula" class="form-control input-lg"
            value="" placeholder="Matrícula" maxlength="8" style="text-transform: capitalize" required/>
        </div>
    </div>
    <br>
    <div class="row">
        <div class="col-xs-6 col-md-6">
            <input type="password" id="ds_senha" name="ds_senha" class="form-control input-lg"
            value="" placeholder="Senha" minlength='10' maxlength="10" required/>
        </div>
        <div class="col-xs-6 col-md-6">
        </div>
    </div>
    <br>
    <div class="row">
        <div class="col-xs-3 col-md-3">
        </div>
        <div class="col-xs-6 col-md-6">
            <button class="btn btn-success btn-block btn-lg" type="submit">
                Entrar
            </button>
        </div>
        <div class="col-xs-3 col-md-3">
        </div>
    </div>
</div>

我的路线:

Route::post('/logar', 'ViewController@postLogar')->name('postLogar');

Session.php

'driver' => env('SESSION_DRIVER', 'file'),
'secure' => env('SESSION_SECURE_COOKIE', false),
'domain' => env('SESSION_DOMAIN', null),

我在同一台 Web 服务器上运行了其他 laravel 系统,它们都可以正常工作。 我不知道会发生什么。

【问题讨论】:

  • “我有其他 laravel 系统在同一个 web 服务器上运行”可能与它有关。尝试将'cookie' =&gt; 'laravel_session', 设置为config/session.php 中该项目独有的内容。
  • @TimLewis 我试着按照你的建议去做。可惜没成功
  • 因此可能。当我不得不在我的一个项目中更改它时,我忘记了我遇到的上下文,但它一定是不同的东西。

标签: csrf laravel-5.5


【解决方案1】:

您的 laravel 项目目录可能没有正确的权限来存储会话内容。尝试为这些目录提供正确的权限。

sudo chmod -R 777 storage
sudo chmod -R 777 bootstrap/cache

在终端/命令提示符中导航到您的项目根目录并运行这些命令。

【讨论】:

    【解决方案2】:

    我发现了导致我的系统出现问题的原因。

    我改进了表单请求部分。

    我以前也这样做过:

    $nr_cpf = Input::get('nr_cpf_servidor');
    

    我为此修改了代码:

    $nr_cpf = $request->nr_cpf;
    

    将请求作为对象传递。

    有了这个改变,我的代码就可以工作了。我不知道旧形式是否存在冲突。但现在它运行良好。

    【讨论】:

      猜你喜欢
      • 2018-05-17
      • 1970-01-01
      • 1970-01-01
      • 2018-12-10
      • 2018-03-01
      • 2018-08-31
      • 1970-01-01
      • 2018-09-16
      • 2019-07-11
      相关资源
      最近更新 更多