我有一个与服务器通信的Android应用程序。该应用程序首次运行时会向/user/register_device
发送一个帖子请求,然后服务器将创建一个具有随机ID和随机密钥的新用户并返回响应
{
"status": "success",
"data": {
"uid": "sfasdfas2487329rhsdifasor092u403p8412jelfjsakl;dfajs09204u12341",
"ukey": "fs04932u401923u4jweofksa;ldfajs9-24-341243fasdfasdffdsafasfasfsafrweqrqgq4234fdsfasdfa34123"
}
}
但是现在如果攻击者创建的脚本只是在循环中向/user/register_device
发送帖子请求,他就可以在服务器中创建许多用户。这将很快用无效用户填满表格。那么如何制止这个呢?
我应该限制来自IP的请求数量吗?或者我应该在android应用程序中添加一个secret_key并让app在registering_device时发送此密钥?还有其他方法可以阻止这种情况吗?
答案 0 :(得分:0)
受IP地址限制可能会影响功能,因为许多组织使用NAT方案来隐藏内部IP地址。
我的建议 1.使用Captcha 2.双重选择。当有人通过订阅表格注册时,会立即将电子邮件发送到他们提供的地址。 3.如果密钥再次出现,则根据MAC地址为每个用户创建一个唯一密钥,您应该忽略它。 4.勾选“我是人”复选框 http://uxmovement.com/forms/captchas-vs-spambots-why-the-slider-captcha-wins/ 5.使用SMS进行验证