2015-06-08 59 views
0

所以我有一個輸入字段,我已經設置爲在前端使用下面的代碼禁用。問題是,如果用戶修改瀏覽器中的代碼,他們可以將其更改爲任何他們想要的。如何防止在後端?如何在不創建漏洞的情況下禁用rails表單輸入。

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

當您收到POST請求時,您爲什麼要關注此字段?只要忽略它。 – tadman

回答

-3

http://jsfiddle.net/vfvsLj0n/

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

這是給你的可能性?

+0

這不是客戶端問題,也沒有任何JavaScript可以修復損壞的API。 – tadman

2

通常你可以用strong parameters來處理這個問題,你不會盲目地接受任何你給的東西。你寫這樣的方法:

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

在那裏你會枚舉允許的字段,其餘的都被忽略。我不確定你有什麼其他參數,但是可以將它們分成「必需」和「允許」組。這些甚至可以根據有關記錄的特權或所有權而變化。

相關問題