安全なSQLの呼び出し方まとめてみた
安全な SQL の呼び出し方
http://www.ipa.go.jp/security/vuln/documents/website_security_sql.pdf
これを読んで自分なりにまとめてみました。
・「'052312'」のような定数のことをリテラルと呼ぶ
SELECT * FROM employee WHERE name = 'O''Reilly' ←文字列リテラルのエスケープ処理
・SQLの組み立て方
→文字列連結によるSQL文の組み立て
エスケープしないとSQLインジェクションの脆弱性がある
→プレースホルダによるSQL文の組み立て
・ 静的プレースホルダ
→サーバー側で実行する構文が決まっているので、SQLインジェクションの脆弱性の可能性がなくなる
・ 動的プレースホルダ
→アプリケーション側で、構文をきめるので、SQLインジェクションの脆弱性の可能性がないわけではない
・・・未完成