419 - 会话在部署后没有事件验证的情况下过期 | Laravel 5.7
419 - Session Expired without event authentication after deployment | Laravel 5.7
我的 Laravel 应用程序在我的本地计算机和临时服务器上运行良好。但是当我部署到我的生产服务器时,登录表单不起作用。每次我尝试登录管理面板时,它都会显示我的
419
Sorry, your session has expired. Please refresh and try again.
我的头像标签包含 <meta name="csrf-token" content="XXX">
我的登录表单包含 <input type="hidden" name="_token" value="XXX">
到目前为止我尝试了什么:
- 已尝试生成新密钥
php artisan key:generate
- 已尝试清除所有缓存
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear
- 已检查 php.ini max_execution_time 和内存限制。
- 尝试将
SESSION_DRIVER
从 file 更改为 database
唯一能用但不安全且用于调试目的的东西
在 VerifyCsrfToken class 中,我在 protected $except
中添加了 "api/login" & "api/register" 并且表单有效。像这样
namespace FleetCart\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
"api/login",
"api/register"
];
}
请帮助我了解如何解决此问题。
提前致谢。
终于在花了 3 天后找到了解决方案。
@Snapey 帮我解决了这个问题。
在我的例子中,在开始 <?php
标签之前有一个额外的 space。
我的 Laravel 应用程序在我的本地计算机和临时服务器上运行良好。但是当我部署到我的生产服务器时,登录表单不起作用。每次我尝试登录管理面板时,它都会显示我的
419
Sorry, your session has expired. Please refresh and try again.
我的头像标签包含 <meta name="csrf-token" content="XXX">
我的登录表单包含 <input type="hidden" name="_token" value="XXX">
到目前为止我尝试了什么:
- 已尝试生成新密钥
php artisan key:generate
- 已尝试清除所有缓存
php artisan cache:clear
php artisan route:clear
php artisan view:clear
php artisan cache:clear
- 已检查 php.ini max_execution_time 和内存限制。
- 尝试将
SESSION_DRIVER
从 file 更改为 database
唯一能用但不安全且用于调试目的的东西
在 VerifyCsrfToken class 中,我在 protected $except
中添加了 "api/login" & "api/register" 并且表单有效。像这样
namespace FleetCart\Http\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
{
/**
* The URIs that should be excluded from CSRF verification.
*
* @var array
*/
protected $except = [
"api/login",
"api/register"
];
}
请帮助我了解如何解决此问题。
提前致谢。
终于在花了 3 天后找到了解决方案。
@Snapey 帮我解决了这个问题。
在我的例子中,在开始 <?php
标签之前有一个额外的 space。