【问题标题】:How to secure your php apis如何保护您的 php api
【发布时间】:2018-07-01 12:54:45
【问题描述】:

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

如果我的 api 收到 book_id 来删除它。如果客户端发送了一个不属于这个客户端的 book_id 怎么办?

【问题讨论】:

标签: php laravel rest api postman


【解决方案1】:

你可以在 Laravel 中使用 PassportJWT 进行 API 认证

或者在Users表中添加api_token列,用户应该为每个请求发送他唯一的api_token,你根据它授权用户

【讨论】:

    【解决方案2】:

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

    if (auth()->user()->id === request()->input('user_id')) {
        // it's a good request
    
        return $request($next);
    }
    
    abort(403, "Unauthorized");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-24
      • 1970-01-01
      • 2012-11-25
      • 1970-01-01
      • 2020-08-05
      • 2011-05-14
      • 2022-01-21
      • 1970-01-01
      相关资源
      最近更新 更多