【问题标题】:how to securely pass a related Class_id through a hidden form field如何通过隐藏的表单字段安全地传递相关的 Class_id
【发布时间】:2011-07-30 19:04:30
【问题描述】:

我有一个 GroupCoach 模型,Group Coaches has_many :groups。在我的新 Group 表单上,我想将 group_coach_id 传递给隐藏字段中的 Group 对象,以便组与 GroupCoach 相关联,而无需用户选择一个。

所以在我的 Groups_Controller 中

 @group = Group.new
 @group_coach = GroupCoach.first(:order => "RAND()")

这将获得一个随机的 GroupCoach。然后在新的组视图中我有一个隐藏字段

<%= f.hidden_field @group_coach  %>

这显然不是 100% 正确的。它确实传递了 group_coach_id 但它没有告诉表单将​​它保存在哪一列......

我也听说这很不安全...

【问题讨论】:

    标签: ruby-on-rails-3 model associations


    【解决方案1】:

    制作一个令牌列。只需 SHA1 加密它(或任何您的选择)并传递它。这更难猜。

    【讨论】:

      【解决方案2】:

      我使用以下代码解决了这个问题

      <%= f.hidden_field :group_coach_id, :value => @group_coach.id   %>
      

      但这是最安全的吗?似乎很不安全,因为我可以更改 Firebug 中的值或其他东西......

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-01-27
        • 1970-01-01
        • 2014-04-01
        • 2016-01-31
        • 1970-01-01
        • 2011-11-02
        相关资源
        最近更新 更多