在用户验证之前安全休息服务

时间:2016-07-18 08:40:30

标签: java web-services rest security

我有一个提供多种休息服务的网络应用程序(泽西岛)。大多数端点都由BASIC身份验证保护。我还使用SSL进行传输,并为每次调用请求POST。 客户/消费者是Android应用程序。

到目前为止一切顺利。唯一容易受到攻击的服务是注册。它是第一个'呼叫服务和用户尚不存在。所以我不能使用OAuth等。我还必须使端点易于访问,以使用户能够进行注册。

我如何保护这项服务,所以它不会被充斥我的数据库的机器人发送垃圾邮件?

1 个答案:

答案 0 :(得分:0)

这些怎么样?

  1. 在请求参数中使用带有令牌的注册链接。确保令牌在某个时间后过期。您也可以为客户端创建令牌端点URL以获取有效令牌。
  2. 在请求中使用自定义标头或动态自定义标头。此外,您可以检查动态自定义标头以验证请求的真实性。
  3. 注册完成后立即使用注册确认工作流程,例如电子邮件/文本验证。每天运行一个进程以删除任何未在x天内验证的用户帐户。
  4. 我认为您无法以HTTP方式真正保护注册网址。恕我直言,任何拥有注册网址的人都可以成为一个正确的注册人。所以如果你问我,选项3比其他人好。