Techioz Blog

Rails APIパラメータをサニタイズする方法

概要

私は独自の API を作成しているのですが、受信したパラメータをどのように保護するか考えていました。

例:

私のエンドポイントはペイロードでこれらのパラメータを受け取ります。この受信したペイロードを使用してデータベースを検索します。

car = Car.where(color: params[:color])
# or
car = Car.find_by(brand: params[:brand])
# or writing
Car.first.update!(brand: params[:brand])

しかし、誰かが SQL や XSS を悪用しようとした場合はどうなるのか、とても心配です。 これをどうやって扱うのですか?

解決策

あなたの質問の例はすべて、SQL インジェクションから自動的に保護されています。

公式 Rails ガイドからの関連引用:

その後、同じドキュメントの後半で次のようになります。