Strong Parametersとは
Strong ParametersはRails4系から追加されたセキュリティを向上させるための仕組みです。
指定した値以外は受け取らないようにして、攻撃者による意図しないコードの実行を防止するセキュリティ対策。
フォームからデータを送信するときは、「マスアサインメント脆弱性」というセキュリティ上の問題があります。
簡単に伝えると、データ送信時に不正なリクエストによって、予期しない値が変更されてしまう脆弱性です。
Railsでは、この脆弱性を防ぐ「Strong Parameters」の仕組みが用意されています。
こんな感じです。
Strong parametersは必ずprivateより下に記述します。
app/controller/user_controller.rb
class UsersController < ApplicationController
def create
user = User.new(user_params)
end
private
def user_params
params.require(:user).permit(:name, :email)
end
end
簡単に言うと、userに関する値(パラメーター)が送信されても「name」「email」しか許可しませんよということです。