0

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

4

2 回答 2

2

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

一种可能的解决方法是提前以某种形式对其进行加密,这可以让您确定它在发布时是否被篡改。正确执行此操作可能会很棘手,并且传递参数不是常见的做法。

也许如果你能澄清你到底想要完成什么,有人可能会提出一个合适的替代方案。

于 2013-01-20T02:52:51.180 回答
1

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

于 2013-01-20T03:08:31.783 回答