Ruby on rails Rails不解析我的HTTP查询字符串

Ruby on rails Rails不解析我的HTTP查询字符串,ruby-on-rails,ruby,http,curl,Ruby On Rails,Ruby,Http,Curl,我使用CURL发出了一个HTTP请求 curl -X GET \ http://localhost:3000/api/v1/user_api/35/edit?old_password=aa&new_password=bb&password_confirmation=cc 我的rails服务器只识别第一个参数 Started GET "/api/v1/user_api/35/edit?old_password=aa" for 127.0.0.1 at 2013-08-01 14

我使用CURL发出了一个HTTP请求

curl -X GET  \
http://localhost:3000/api/v1/user_api/35/edit?old_password=aa&new_password=bb&password_confirmation=cc
我的rails服务器只识别第一个参数

Started GET "/api/v1/user_api/35/edit?old_password=aa" for 127.0.0.1 at 2013-08-01 14:12:52 +0100
Processing by Api::V1::UserApiController#edit as */*
Parameters: {"old_password"=>"aa", "id"=>35}
你知道这里怎么了吗

-------------------------------------编辑-----------------------------------------------------

警告!这是一个处理密码重置的非常糟糕、疯狂的例子

这个问题只针对curl和查询解析问题

谢谢你的评论

你知道这里怎么了吗

您正在查询字符串中以纯文本形式传递密码

你从不做那件事开始怎么样


此外,您需要将URL加引号,因为
&
否则需要转义

curl -X GET  \
"http://localhost:3000/api/v1/user_api/35/edit?old_password=aa&new_password=bb&password_confirmation=cc"
但实际上,请不要使用
GET
发送密码数据

你知道这里怎么了吗

您正在查询字符串中以纯文本形式传递密码

你从不做那件事开始怎么样


此外,您需要将URL加引号,因为
&
否则需要转义

curl -X GET  \
"http://localhost:3000/api/v1/user_api/35/edit?old_password=aa&new_password=bb&password_confirmation=cc"

但实际上,请不要使用
GET
发送密码数据

不要使用GET传递或更改密码。它会将其放入URL、浏览器历史记录和服务器日志中。请改用POST方法。@theTinMan您好,谢谢您的评论。如果这是为移动应用程序设计的api,POST方法是否比GET更可取?不要使用GET传递或更改密码。它会将其放入URL、浏览器历史记录和服务器日志中。请改用POST方法。@theTinMan您好,谢谢您的评论。如果这是一个为移动应用程序设计的api,那么POST方法是否比GET更可取?它是一个面向移动应用程序的api。我猜它是GET还是POST都没有关系,因为它不会被任何浏览器记录下来。现在,加密对我来说是一个非常高级的话题,但当然,我会尽快研究解决方案,我会在我的开发机器上进行测试,非常感谢。哈哈,我不是想笑,但事实上它是为“移动应用”设计的根本不能减少安全威胁。因为我认为只有加密才能阻止黑客,而不是获取或发布。未加密的邮件正文有什么区别吗?如果我错了,请纠正我。显然,您希望使用SSL,但在更新中使用
GET
仍然是一种糟糕的形式。这正是这篇文章的目的。你可能不会休息,但尽量不要疯狂地违反这些原则。这是一个暴露于移动应用程序的api。我猜它是GET还是POST都没有关系,因为它不会被任何浏览器记录下来。现在,加密对我来说是一个非常高级的话题,但当然,我会尽快研究解决方案,我会在我的开发机器上进行测试,非常感谢。哈哈,我不是想笑,但事实上它是为“移动应用”设计的根本不能减少安全威胁。因为我认为只有加密才能阻止黑客,而不是获取或发布。未加密的邮件正文有什么区别吗?如果我错了,请纠正我。显然,您希望使用SSL,但在更新中使用
GET
仍然是一种糟糕的形式。这正是这篇文章的目的。你可能不会休息,但尽量不要疯狂地违反这些原则。