【问题标题】:How to prevent sending requests to RESTful API directly on a SPA project?如何防止在 SPA 项目上直接向 RESTful API 发送请求?
【发布时间】:2021-05-25 01:05:27
【问题描述】:

我有一个基于 RESTful API 工作的单页应用程序。通常,所有 API 都有一个路由访问,可以在检查 Web 应用程序时找到。
虽然我有基于用户令牌的身份验证机制,但黑客可以找到 API 路由并使用他给定的令牌直接向 API 发送许多请求。
防止这种行为的最佳解决方案是什么?我在考虑 CSRF,但是由于 API 是基于 REST 的,并且项目是 SPA,我认为我应该有另一种机制。
你能帮帮我吗?

【问题讨论】:

  • 您可以为每个 API 密钥添加速率限制

标签: api rest security single-page-application csrf


【解决方案1】:

您无法验证客户端应用程序,这是不可能的。如果用户可以从 spa 发送请求,因为他们有凭据和端点可以将它们发送到,他们可以使用 Burp 中的任何客户端通过 ZAP 或 Postman 来 curl 或其他任何方式来发送请求。

您的 API 必须具有弹性,您应该根据您的威胁模型在服务器端进行一般的速率限制、用户配额、监控和安全操作实践,以降低这种风险。

在实践中,这可能意味着托管 API 的方式可以在网络级别上对 DoS 具有弹性,具有每个用户的请求速率限制,识别由于某种原因对服务器造成负担的功能(调用外部服务、发送电子邮件等)并更仔细地保护/监控这些。没有一种万能的解决方案。

【讨论】:

    猜你喜欢
    • 2023-03-29
    • 2019-01-22
    • 2015-01-26
    • 1970-01-01
    • 2013-10-24
    • 1970-01-01
    • 2023-03-14
    • 2016-06-19
    • 1970-01-01
    相关资源
    最近更新 更多