[解決済み] ActiveRecordのような安全なクエリ
2023-02-03 23:18:10
質問
LIKEクエリを作成しようとしています。
純粋な文字列クエリは安全ではないことを読みましたが、安全なLIKEハッシュクエリを書く方法を説明するドキュメントを見つけることができませんでした。
それは可能ですか?SQLインジェクションに対して手動で防御する必要がありますか?
どのように解決するのですか?
クエリ文字列が適切にサニタイズされるようにするには、配列またはハッシュのクエリ構文を使用して条件を記述します。
Foo.where("bar LIKE ?", "%#{query}%")
または
Foo.where("bar LIKE :query", query: "%#{query}%")
という可能性がある場合は
query
が含まれる可能性があります。
%
文字が含まれる可能性があり、それを許可したくない場合 (これは使用例による) は
query
を
sanitize_sql_like
を最初に指定します。
Foo.where("bar LIKE ?", "%#{sanitize_sql_like(query)}%")
Foo.where("bar LIKE :query", query: "%#{sanitize_sql_like(query)}%")
関連
-
[解決済み] Rails 4のLIKEクエリ - ActiveRecordは引用符を追加します。
-
[解決済み】Rubyで複数行の長い文字列を改行せずに分割する方法
-
[解決済み] Rubyの理想的なプロジェクト構造
-
[解決済み] key => "value"`と`key: "value"`のハッシュ表記に違いはありますか?
-
[解決済み] ファイルのテキストをパターン検索し、指定された値で置き換える方法
-
[解決済み] Rubyオプションのパラメータ
-
[解決済み] rubyのClassとKlassの違いは何ですか?
-
[解決済み] 2つのハッシュを比較するにはどうすればよいですか?
-
[解決済み] Rubyのsend()は何をするのですか?
-
[解決済み] インストールされているすべてのGemsを削除して最初からやり直す
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 現在の日時をDD/MM/YYYY HH:MM形式で取得するにはどうすればよいですか?
-
[解決済み] ArelとRailsでLIKEクエリを実行するには?
-
[解決済み] RubyでDateTimeの時間部分を設定する
-
[解決済み] Ruby で改行せずに印刷する方法
-
[解決済み] メソッドから2つ以上の値を返す
-
[解決済み] ランダムなブール値を返す最良の方法
-
[解決済み] Rubyでオブジェクトのキーを配列として取得する
-
[解決済み] ファイルに新しい行を追加しますか?
-
[解決済み] メソッド名の最後にある「!」や「?」は何のため?
-
[解決済み] Rubyのモジュール/ミキシンからクラスメソッドを継承する