ご覧いただいたように、SQLインジェクション攻撃のポイントはシングルクォート「'」を使って文字列定数の中から脱出し、SQL文の構文に影響をおよぼすことである。したがって、これに対処するにはユーザが入力したシングルクォートを文字列の区切りとして機能させないことだ。これを「エスケープ処理」と呼ぶ。 SQL文の文法では、文字列定数中でシングルクォート「'」を2個並べるとそれが1個のシングルクォートそのものを表すという約束になっている。たとえば次のような表記があるとする。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く