php 当我在csrf @laravel中提交submet时出错

yvgpqqbh  于 11个月前  发布在  PHP
关注(0)|答案(2)|浏览(76)

我在laravel刀片HTML表单和我添加@csrf内的形式,并尝试广告{{ csrf_field()}}和但每次我提交我有

419页面已过期

我的php 8.1我的laravel 10.1
嗨,我在laravel刀片HTML表单,我添加@csrf内的形式,并尝试广告{{ csrf_field()}},但每次我提交我有419页过期

s5a0g9ez

s5a0g9ez1#

我在使用laravel的时候也遇到过这个问题,也许我可以给予你一个小的解决方案,你可以试试。
1.确保表单位于@csrf标签中:

<form method="POST" action="/your-route">
     @csrf

     <button type="submit">Submit</button>
</form>

字符串
1.确保\App\Http\Middleware\VerifyCsrfToken::class已在“web”中间件组中注册。

protected $middlewareGroups = [
    'web' => [
        // Lainnya middleware
        \App\Http\Middleware\EncryptCookies::class,
        \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
        \Illuminate\Session\Middleware\StartSession::class,
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
        \App\Http\Middleware\VerifyCsrfToken::class,
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
    ],

];


1.请确保您使用的是Laravel和PHP的适当和兼容版本。

hgqdbh6s

hgqdbh6s2#

1-检查浏览器Cookie:请尝试清除浏览器的Cookie并刷新页面。这可能是与会话相关的问题。
2-检查表单操作URL:请确保您的表单发布到正确的URL。
3-检查路线定义:请确保POST请求的路由定义正确。在Laravel的web.php路由文件中,确保正确定义了用于POST请求的路由。
4-检查路由中间件:如果您使用的路由不在Web中间件组内,则可能会发生此错误。在Laravel中,Web中间件组包括会话状态和CSRF保护。确保在web.php中定义了您的路由,或者手动将CSRF保护添加到路由的中间件中。
5-请检查@csrf指令在表单中的位置。它通常被添加到表单标记内部和其他输入字段之前。

相关问题