LoginSignup
1

More than 5 years have passed since last update.

ストロングパラメーターとは?[備忘録]

Posted at

ストロングパラメーターとは?

ストロングパラメーターとは何でしょうか?
「ストロング」と言う英単語から強い何か??ってことが予想できますが、ストロングパラメーターとは
簡単に「web上で流れてきた不正なデータを受け取らない」ように設定する機能のことです。

データーベースの更新の際、不要な情報を避けて安全に更新してくれます。

コントローラーアクションに実装

ストロングパラメーターが使用される部分は主にユーザー新規登録やユーザーログイン時などです。

実装場所はコントローラーアクションになります。

users_controller.rb
private
  def user_params
    params.require(:user).permit(:name, :email)
  end

requireとpermitとはそれぞれ「必要とする」と「許可する」と言う意味です。
上記の場合、userはnameとemail情報のみ許可するけど、上記以外の例えばpassword情報は
許可せずブロックするよって意味です。

OK:userはnameとemail情報は許可します。
NG:userは上記以外の情報は許可しません。(passwordなど)

実装しないとエラーになる

ストロングパラメーターはRails4から追加されました。それ以前はMassAssignmentを使用してましたが
脆弱性があったためストロングパラメーターになったと言うことです。

もし、ストロングパラメーターが実装していなければ、不正な値でも何でもかんでも受け入れてしまい
管理者情報が乗っ取られてしまう危険があるのです。

ストロングパラメーターを実装し、危険を回避しましょう!

今回はここまでにします。

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
1