laravel 自定义函数和验证控制 419 unknown status问题

自定义函数

方法1

新建文件func,在文件夹下创建函数文件。

将自定义函数文件添加到composer.json里面的autoload:files中,实现自动加载自定义函数:

 "autoload": {
        "files": [
            "func/helpers.php" 
        ]
}

刷新composer缓存

composer dump-autoload

方法2

直接引入
 控制器中直接使用
require dirname(__DIR__).'/../../func/helpers.php';

 

在控制器中不使用验证

方法一:直接在配置文件中关掉csrf验证。

打开文件:app\Http\Kernel.php,注销掉csrf中间件。

复制代码
 protected $middlewareGroups = [
        'web' => [
            \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,
        ],
复制代码

方法二:你也可以通过将这类 URI 添加到 VerifyCsrfToken 中间件中的 $except 属性来排除对这类路由的 CSRF 保护。

app/Http/Middleware\VerifyCsrfToken.php

 protected $except = [
        //
        '/userlogin'
    ];

方法三:直接在api.php路由中写该路由。不需要任何操作,就可以绕过csrf,因为api路由中没有使用csrf中间件。

 

方法四:在表单中加入{{csrf_filed}}即可。 

 <input type="hidden" name="_token" value="{{csrf_token()}}">
或者

<form method="post" action="/login" id="myform">
{{ csrf_field() }}
 .....
</form>

方法五 ajax提交

在Html的头部,加上<meta name="csrf-token" content="{{ csrf_token() }}" />

$.ajaxSetup({ headers: { 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') }})

 

posted @   fsl  阅读(153)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示