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 ガイドからの関連引用:
その後、同じドキュメントの後半で次のようになります。