如何在不创建漏洞的情况下禁用rails表单输入。

时间:2015-06-08 21:04:31

标签: html ruby-on-rails ruby

所以我有一个输入字段,我已经设置为使用下面的代码在前端禁用。问题是,如果用户在浏览器中修改代码,他们可以将其更改为他们想要的任何内容。如何在后端阻止这种情况?

<input type="text" class="text party_name disabled-textfield" id="party_name" name="party_name" disabled="disabled" value="<%= @current_user.name %>" />

2 个答案:

答案 0 :(得分:2)

通常情况下,您可以使用strong parameters处理此问题,而不要盲目接受任何您给予的内容。你写了一个像这样的方法:

def input_params
  params.permit(:editable_name, :favorite)
end

您可以枚举允许的字段,其余字段将被忽略。我不确定您拥有的其他参数,但您可以将它们拆分为&#34; required&#34;并且&#34;允许&#34;组。这些甚至可以根据相关记录的特权或所有权而有所不同。

答案 1 :(得分:-3)

http://jsfiddle.net/vfvsLj0n/

$('.party_name.disabled-textfield').attr('disabled', 'disabled');

这对你有用吗?