投稿

ラベル(バインド機構)が付いた投稿を表示しています

バインド機構に関するネットワークスペシャリスト試験

 了解しました! ここでは 「バインド機構」(主にデータベースにおけるプレースホルダ/バインド変数によるSQL実行の仕組み)をテーマにした ネットワークスペシャリスト試験風の問題10問(択一式+解答+解説) を一気に作成します。 --- バインド機構に関する問題(10問) --- 問題1 SQLインジェクション攻撃を防ぐために利用されるバインド機構の特徴はどれか。 A. 入力値を直接SQL文に文字列連結する B. 入力値をプレースホルダに割り当てる C. SQL文を暗号化して送信する D. データベースのアクセス制御を強化する 【正解】B 【解説】バインド機構ではSQL文と値を分離し、値をプレースホルダにバインドするためSQLインジェクションを防止できる。 --- 問題2 次のSQL文において「?」が示すものは何か。 SELECT * FROM users WHERE id = ?; A. テーブル名 B. プレースホルダ C. サブクエリ D. 関数呼び出し 【正解】B 【解説】「?」はプレースホルダであり、実際の値は実行時にバインド変数として与えられる。 --- 問題3 バインド変数を用いることで得られる副次的な効果はどれか。 A. SQL文の圧縮 B. パフォーマンスの向上 C. 暗号化通信の確立 D. バックアップの容易化 【正解】B 【解説】SQL文がキャッシュされ、異なる値をバインドして再利用できるためパフォーマンスが向上する。 --- 問題4 次のようなSQLを動的文字列で生成した場合、発生するリスクはどれか。 SELECT * FROM users WHERE name = '" + user_input + "'; A. デッドロック B. SQLインジェクション C. キャッシュミス D. トランザクション遅延 【正解】B 【解説】ユーザ入力を文字列連結すると、攻撃者により任意のSQLを挿入される可能性がある。 --- 問題5 バインド機構を使うとき、SQLパーサが受け取るものはどれか。 A. 値を含む完全なSQL文 B. 値を除いたSQL文とプレースホルダ情報 C. データベースのスキーマ定義 D. TCP/IPパケット 【正解】B 【解説】SQLパーサはプレースホルダ付きのSQLを解析し、実行時に値がバイン...