• ベストアンサー

SQLインジェクション対策

Webアプリにて入力フォームからのSQLインジェクション対策を行いたいと思っているのですが その1つとしてpreparedstatement SQLを使用することを考えています。 これを使用すればシングルクォーテーションを使った 悪意のあるSQL文を挿入されることが防げると思うのですが他に何か考慮することって あるのでしょうか。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

SQL文を固定にしてパラメータを全てプレースホルダにして、バインドにより指定するようにすれば、SQLインジェクションが入る余地はありません。ただし、MySQLを使っている場合に、見かけ上プレースホルダを使っていても、真のprepared statement でない呼び出し(動的プレースホルダ)もあり、ライブラリに脆弱性があったり、呼び出し方を間違っていると、SQLインジェクション脆弱性になる場合があります。詳しくは、参照URLの「安全なSQLの呼び出し方」をお読み下さい。

参考URL:
http://www.ipa.go.jp/security/vuln/websecurity.html

関連するQ&A

専門家に質問してみよう