LoginSignup
0

More than 3 years have passed since last update.

[rails]Strong Parametersとは?

Last updated at Posted at 2020-08-01

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」しか許可しませんよということです。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0