資料リスト 13.46: マイクロポストのステータスフィードを実装するための準備
ruby
1 def feed 2 Micropost.where("user_id = ?", id) 3 end
上の疑問符があることで、SQLクエリに代入する前にidがエスケープされるため、SQLインジェクション (SQL Injection) と呼ばれる深刻なセキュリティホールを避けることができます。
について
自分の知識に不安があるので以下の認識であっているかどうか教えて欲しいです。また気をつけたほうがいいことなど記載してくださると幸いです。
知識に不安があるところは、idがエスケープすることでSQLインゼクションが対策できる理由についてです。
私が認識しているのはidがエスケープされることでSQLインゼクション攻撃で使用されるorやコメント、シングルクォートといった特殊文字が全て普通の文字として扱われるため、特殊文字により攻撃が成立しなくなるというものです。
よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。