通过Rails表单静默传递参数

时间:2013-01-20 02:49:16

标签: ruby-on-rails ruby forms

我需要通过Rails表单传递参数并在控制器中访问它。我会使用隐藏字段标记,但我不希望用户能够在HTML中编辑此数据并提交它。如何秘密传递此参数并在使用parameter[:my_parameter]提交时访问它?

2 个答案:

答案 0 :(得分:2)

虽然用户几乎可以在任何现代浏览器中查看隐藏的字段数据,但他们无法在浏览器本身中直接修改它。但是,它们可以构建表单数据并使用他们选择的其他客户端(curl,fiddler等)传递它 - 对此没有什么可以做的。我建议不要依赖这种方法来处理敏感数据。

可能的解决方法是提前以某种形式对其进行加密,这样可以确定在发布时是否已被篡改。这样做可能很棘手,传递参数并不常见。

也许如果你能澄清你想要完成什么,有人可能会建议一个合适的选择。

答案 1 :(得分:1)

这样的最佳做法是不通过HTML传递参数,而是将其绑定到用户的会话,并将实际的敏感数据存储在数据库或缓存中。您可以尝试对其进行加密,但是,如果用户有权访问数据,那么他们就可以尝试对其进行解密。