5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

学びや気づきの備忘録Advent Calendar 2023

Day 18

【Rails】permit!メソッドで詰まった話

Last updated at Posted at 2023-12-17

はじめに

あるシステムの開発中にBrakemanで「Specify exact keys allowed for mass assignment instead of using permit! which allows any keys」という警告が表示され詰まった時のお話です。

問題

Brakemanで警告が表示されたコードは下記です。

params.permit![:hoges].to_h

原因を調査したところ、permit!メソッドを使用するとすべてのキーが許可されてしまうことや後から追加したキーも許可されてしまうため、Brakemanは警告を表示してそうでした。

解決策

permit!メソッドではなくpermitメソッドで許可するキーを指定するように変更しました。
下記は変更後のコードです。

params[:hoges].permit(key).to_h

おわりに

permit!メソッドはセキュリティリスクを高めるため、可能な限りpermitメソッドを使用した方がよさそうです。誤り等ありましたらご指摘いただけると助かります!

参考

5
0
0

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
5
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?