首页 > 解决方案 > Laravel 的 `Default Auth::attempt()` 对 SQL 注入或任何类型的漏洞有多安全?

问题描述

我正在使用 JWT 身份验证开发 API。我写了下面的代码

`public function login(Request $request)
{


    $credentials = $request->only('email', 'password');
    if ($token = $this->guard()->attempt($credentials)) {
        return $this->respondWithToken($token);
    }

    return response()->json(['error' => 'Unauthorized'], 401);
}`

在这里,API 请求将使用 post 请求和表单数据字段来登录并给用户一个令牌。

我的高级开发人员说“这个代码很容易受到攻击,我应该从客户端验证每个凭据!此外,他说这个代码很容易受到攻击,一个简单的 1=1 查询就会破坏这个数据库,黑客将拥有所有数据库的信息。”

我确实知道尝试功能的幕后发生了什么。但我假装我对此一无所知。我已经阅读了 laravel 官方网站上的文档,他们确实使用这种简单的登录方法来使用他们的默认身份验证包登录。

谁能详细说明这段代码到底有多脆弱?

标签: laravelsecurityeloquentcsrfsql-injection

解决方案


推荐阅读