Ví dụ
Hãy tưởng tượng tôi có các hình thức sau đâyViệc sử dụng các trường ẩn trong biểu mẫu có an toàn không?
<%= 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 %>
tôi có: user_id và: giá trị article_id với:
Comment.new(:user_id => current_user.id, :article_id => @article.id)
Khi tôi hiển thị dưới dạng trong trình duyệt nó sẽ giống như thế này :
<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>
Câu hỏi của tôi là, nếu ai đó thay đổi thông số bài đăng và thay vì là giá trị cho: user_id => 1 nó được thay đổi thành: user_id => 2. Tương tự với bài viết.
Tôi muốn tin rằng đã được xác minh với các mã thông báo đường ray, nhưng tôi không chắc chắn.
Rất dễ thay đổi giá trị. Trong "firebug" -> "chỉnh sửa" tùy chọn, tôi chỉ cần thay đổi "giá trị" trong HTML và thì đấy! thay vì là người dùng 1 Tôi đã đăng bài với tư cách là người dùng 2. –