Railsアプリケーション内で重要な機能のみを実行できるようにすることで、SQLインジェクトのリスクをどのように制限できるかを調査しています。私はセキュリティ担当者であり、フルタイムの鉄道担当者ではありません。
私の見方では、データベースへの書き込みは、アカウントが作成されたとき (登録) またはアカウントが変更されたとき (ユーザー プロファイルの更新) にのみ発生するはずです。簡単にするために、アプリケーション内でユーザーからの他の更新は発生しないと仮定しましょう。
誰かが読み取り専用リクエストに対する SQL インジェクション攻撃をブロックしない場合は、2 つの個別の呼び出しでより適切に保護されます。
Rails は次の構成をサポートできますか? -
- すべての「読み取り」リクエストに対して 1 つのデータベース接続
- すべての「書き込み」リクエストに対して 1 つのデータベース接続 (まったく同じデータベース)
もしそうなら、それはデータベースファイルとコードリクエストでどのように見えますか?