首页 文章

保护REST API的最佳方法是什么? [关闭]

提问于
浏览
0

我正在使用 Jersey 用Java开发REST API,保护它的最佳方法是什么?我查看了基于密码的身份验证的各种事情, Servlet Context ,我听说过标记化等等 . 但是什么是保护它的行业标准方法,并确保没有人可以通过在浏览器中输入URL来获取 GET 请求中的数据,只需从 PostMan 进行 POST calll等等?有关实施这种最佳方式的任何学习材料?

用简单的英语,我要问的是,如何通过确保API只能访问我们的应用程序来保护我的REST API?这样做的方法可以是从密码到令牌的任何方法 . 我正在学习它现在试图实现它,但在我需要知道要学习什么之前,因为我正在寻找最佳实践和行业标准的方法 .

1 回答

  • 3

    这是开始保护您的API的好地方:

    • 使用HTTPS

    • 使用用户名/密码进行身份验证

    • 用户成功登录后,将为其生成令牌

    • 将令牌分配给该用户(简单方法是将其保存在数据库中)

    • 要求用户在每次请求时发送该令牌

    • 在响应任何请求之前验证令牌

    据说有一些问题 . 你应该研究如何实现这些:

    • 如果您的数据库受到威胁,请以加密形式在您的数据库中存储凭据 .

    • 如果您将令牌存储在数据库中,验证需要进行数据库查找,这是一个问题,您是否期望负载过重?

    • 如果您使用无状态身份验证,例如JWT,那么如果需要,如何撤消访问权限 . (提示:查看访问刷新令牌方案的黑名单)

    • 如何运输您的令牌, Headers ,cookie?

    • 保护您的API免受跨站点脚本(a.k.a.XSS)和跨站点请求伪造(a.k.a.CSRF或XSRF) .

    注意:这些只是一些快速的想法,你可以在网上找到很多关于这些的信息 .

相关问题