如何保护您的php apis

时间:2018-01-22 19:53:51

标签: php laravel rest api postman

我正在使用post方法在php中编写api。 但是,如果某人更改邮递员中的请求正文并发送一些不属于当前登录用户的数据,该怎么办? 换示例:

如果我的api收到book_id删除它。如果客户端发送不属于该客户端的book_id会怎么样?

2 个答案:

答案 0 :(得分:1)

您可以在Laravel

中使用PassportJWT进行API身份验证

或者向{strong>用户表添加api_token列,用户应为每个请求发送唯一的 api_token ,您可以根据它授权用户

答案 1 :(得分:0)

防止这种情况的一种方法是创建一个中间件,检查user_id是否与用户进行身份验证的相同。 RedirectIfAuthenticated中间件是了解如何执行此操作的好地方。你需要的东西是:

if (auth()->user()->id === request()->input('user_id')) {
    // it's a good request

    return $request($next);
}

abort(403, "Unauthorized");