gpt4 book ai didi

rest - 保护注册 RESTful API 以防止注册多个用户

转载 作者:行者123 更新时间:2023-12-03 23:50:48 24 4
gpt4 key购买 nike

我正在开发 RESTful APIsASP.NET WebAPI对于 Android application并且可以选择通过我们的应用程序进行注册。假设我们的注册端点类似于“/api/register/”,带有一些参数,如“用户名”、“密码”和“电子邮件地址”。所以这个端点很可能不仅对 Android 设备开放,而且对所有人开放。

我的意思是很容易跟踪进出我们服务器的所有请求和响应,因此坏人可能会调用此端点来开始在我们的系统中注册许多用户。

我想知道如何保护我的 API?

最佳答案

您可以采取一些步骤来确保您的 API 不会被随机客户端调用。这些将对 99.9% 的潜在威胁有效,但请记住,如果有人非常忠诚并且能够反编译您的 Android 应用程序和中间人应用程序的连接,他们仍然可以破坏您的安全。 (除非您试图保护一个非常高值(value)的目标,否则我不会担心这种特殊情况。)

对于基本级别的保护:

  • 只允许 SSL 连接,并且需要“ Strict-Transport-Security
  • 使用将在服务器上验证的共享 key (例如预定义的 api key 、预安装的客户端证书等)
  • 服务器上的限制 API 调用
  • 确保您的 API 不会受到其他常见安全陷阱的影响(使用 OWASP 检查表:https://www.owasp.org/index.php/REST_Security_Cheat_Sheet)

  • 为了提高安全性,您需要实现某种 预认证 ,类似于我在这里描述的流程:
  • 客户端向服务器请求访问 token 。
  • token 对客户端是唯一的,并使用客户端 IP、请求时间和共享 key 生成。它也是短暂的,很快就会到期。
  • 客户端在它仍然存在时使用唯一 token 进行 API 调用。
  • 服务器验证 token ,确认它来自授权客户端并处理 API 调用。

  • 这个主题更复杂,不幸的是我没有遇到一个可以指向你的简单例子。

    关于rest - 保护注册 RESTful API 以防止注册多个用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34754012/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com