[Rails] Strong Parameter
strong parameter 是什麼?
strong parameter是一個rails的安全機制,他是為了解決「大量賦值(Mass assignment)」因為太方便而造成的安全性議題。
為什麼我們要用 strong parameter?
- 簡單講就是限制可寫入的欄位,才能有效避免被Hack猜中其他欄位名稱,而造成不被預期的欄位寫入資料庫的疑慮。
如何使用 strong parameter?
- 在進行資料庫存取時,另外定義一個XXX_params,並限制相關permit的欄位,取代原有params[]
- 例如:
def update
person.update(person_params)
redirect_to :back
end
private
def person_params
params.require(:person).permit(:name, :age)
end
留言