gpt4 book ai didi

security - 如何保护 REST 服务的 'public' 部分免受垃圾邮件影响?

转载 作者:行者123 更新时间:2023-12-02 16:37:34 25 4
gpt4 key购买 nike

我有一个相当完整的 REST 服务,并将与 iOS 应用程序一起使用。它是使用 Ruby/Sinatra 构建的,但我认为这在这里并不重要。

我正在对各种端点使用基于 SSL 的 HTTP 基本身份验证,并且该部分运行良好。

问题是:如何阻止垃圾邮件发送者等调用不受 HTTP 基本身份验证保护的 REST 服务部分?

示例:用户注册

假设 REST 调用是(POST) .../register_account 在正文中传递 JSON 对象。

由于显而易见的原因,此调用不能期望链接到用户帐户的用户名/密码。

想法是:

1) 应用程序有自己的“用户名”/密码,某些调用会检查应用程序凭据。问题:root 设备等可能会发现这些凭据。

2) 应用程序通过 HTTP header 将 secret token 传递给这些调用的 REST 服务。问题:同(1)

有没有常用的技术来防止此类垃圾电话?我想也许可以在其中引入 iPhone 的设备 ID,但尚未确定具体的方法。

谢谢

最佳答案

虽然应用程序特定的代码对于防范垃圾邮件的第一道防线来说是一个好主意,但您仍然应该对您关心的任何服务实现一些速率限制。

例如,如果您在 REST 服务上使用 session ,则可以轻松地对单个 session 处理的调用数量进行速率限制。 session 根本不需要进行身份验证,仅用于在发出请求时识别单个客户端。如果他们尝试在没有打开 session 的情况下进行连接,则只需简单地重定向回所请求的服务即可,而且几乎所有 Web 框架或堆栈都内置了此功能。

您还可以对其他属性(例如 IP 或用户代理指纹)进行速率限制,但这些属性的可靠性不如基于 session 的方法。

关于security - 如何保护 REST 服务的 'public' 部分免受垃圾邮件影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8946700/

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