情報処理安全確保支援士暗記無料で始める

バインド機構とは?ばいんどきこう

バインド機構とは、SQL文の骨格を先に確定させ、変化する部分はプレースホルダとして空けておき、後から値だけを差し込む仕組み。データベースは値を受け取る前に文の解析を終えているため、渡された値に引用符やセミコロン、UNIONなどが含まれていても構文としては読まれず、あくまでデータとして扱われる。

最終更新:2026-10-06

試験情報

情報処理安全確保支援士試験の過去問では4問の解説で触れられています(2016年度〜2023年度)。

情報処理安全確保支援士試験の頻出用語/午前II

この語が出る過去問を解く →

背景

SQLインジェクションは、文字列連結で組み立てた文の中で「データのつもりの入力」が「構文」として解釈されることで成立する。危険な文字を潰すエスケープは、文字コードの解釈差や1か所の漏れで破れるため、そもそも値が構文として読まれる経路自体を断つのが根本対策になる。支援士では、対策の優先順位を根拠付きで日本語で説明できるかが問われる。

具体例

JavaのPreparedStatementやPHPのPDOが代表的な実装で、静的プレースホルダではデータベース側が解析済みの文に値だけを受け取る。動的プレースホルダはライブラリ側で値を整形してから連結するため、文字コードの扱いに欠陥があると回避される余地が残る。前者を選ぶほうが確実である。

試験での引っ掛け

表名・列名・ORDER BYの方向はプレースホルダにできず、可変にするなら許可値の一覧との照合が要る。またエスケープや入力値の検証は補助であって代替ではないため、「入力チェックをしているからバインドは不要」は誤りになる。

関連用語

出た過去問

解説は資格暗記が独自に作成しています。過去問の出典は各問題に記載のとおりです。

この語が出る過去問を解く →

試験での特徴
  • 4問の解説で触れられる(2016年度〜2023年度)
  • 分野:午前II
  • 表名・列名・ORDER BYの方向はプレースホルダにできず、可変にするなら許可値の一覧との照合が要る。