例如
想象我有以下表格
<%= form_for(@comment) do |f| %>
<%= f.hidden_field :user_id%>
<%= f.hidden_field :article_id%>
<%= f.label :content %><br />
<%= f.text_area :content %>
<%= f.submit %>
<% end %>
我得到了 :user_id 和 :article_id 值:
Comment.new(:user_id => current_user.id, :article_id => @article.id)
当我在浏览器中显示表单时,它将如下所示:
<form action="/comments" method="post">
<input some_rails_tokens_here />
<!-- THIS AREA HERE-->
<input id="comment_user_id" name="comment[user_id]" type="hidden" value="1" />
<input id="comment_article_id" name="comment[article_id]" type="hidden" value="1" />
<!-- THIS AREA HERE-->
<label for="comment_content">Content</label><br />
<textarea id="comment_content" name="comment[content]"></textarea>
<input type="submit" />
</form>
我的问题是,如果有人更改了 post 参数而不是 :user_id => 1 的值,而是更改为 :user_id => 2 怎么办。文章也是如此。
我想相信这是用 rails 令牌验证的,但我不确定。