在rails中保护隐藏变量?

时间:2011-09-26 14:05:25

标签: ruby-on-rails security

当我使用drupal时,您通常可以通过表单上的隐藏字段通过客户端传递变量,可以选择使用“安全隐藏字段”,这意味着您传递的隐藏值通过真实性令牌和维护服务器端完成,从而阻止用户查看/修改它们。

这是铁路可能实现的吗?如果是这样,它是如何完成的?

1 个答案:

答案 0 :(得分:1)

Rails会话对象将完成您在此处尝试执行的操作。首先,您应该将Rails堆栈配置为使用ActiveRecord或Memcache会话。这将在用户的Web浏览器上删除会话cookie,其ID不包含任何数据。此ID与包含有关用户信息的会话对象相关。在代码中,您可以将其设置为:

 session[:myvar] = "data I want to store"

这些数据永远不会通过网络发送,但可以随时在服务器端发送,只需访问会话存储,如:

puts session[:myvar]

这一切都是通过Rails堆栈透明地完成的 - 您无需手动设置或引用cookie。

为了进一步保护会话,您可以要求通过SSL发送会话令牌。更多信息:

http://guides.rubyonrails.org/security.html#what-are-sessions