我是RoR应用程序的新手..并且已经将Devise实现为身份验证。 一切都很顺利..直到我发现,我能够通过POST方法通过curl命令创建用户,如下所示:
curl -d "user[username]=hacker&user[email]=hacker@test.com&user[password]=password&user[password_confirmation]=password&user[admin]=1" http://lvh.me:3000/users/
如果有人在无限循环中运行curl命令怎么办?有没有办法保护它?
如果我使用attribute_accessible不公开字段,那么我将无法从应用程序本身创建用户..
我在谷歌也找不到任何东西。 请帮我理解这是否正常。?
UPDATE1:
以下是部署到heroku http://intense-cliffs-5986.herokuapp.com/
的示例应用现在使用curl命令
curl -d "user[name]=Somename&user[email]=Someone@test.com&user[password]=password&user[password_confirmation]=password" http://intense-cliffs-5986.herokuapp.com/users
从浏览器访问URL时,您将看到创建了一个新用户。
这是正常的......请帮助我理解。
UPDATE2:
提出它来设计,让我们看看他们是否可以回答。 Devise Issue 2613
UPDATE3:
Devise团队已经回复了github。似乎它是一个理想的功能。他们关闭了这个问题。 我现在必须找到另一种方式。