資格暗記無料で始める

セキュアプログラミングとは?

セキュアプログラミングとは、脆弱性を作り込まないための実装上の原則。入力は許可リストで検証する、出力先の文脈に応じてエスケープする、SQLはプレースホルダで組み立てる、外部コマンドはシェルを介さない、エラー内容を利用者に詳しく返さない、機密情報をログや画面に残さない、暗号は自作せず標準ライブラリを使う、といった実践を含む。

せきゅあぷろぐらみんぐ

エンベデッドシステムスペシャリスト試験の頻出用語/午前II/別名:セキュアプログラミング(入力値検証)、入力値検証


セキュアプログラミングの意味

脆弱性を作り込まないための実装上の原則。入力は許可リストで検証する、出力先の文脈に応じてエスケープする、SQLはプレースホルダで組み立てる、外部コマンドはシェルを介さない、エラー内容を利用者に詳しく返さない、機密情報をログや画面に残さない、暗号は自作せず標準ライブラリを使う、といった実践を含む。

セキュアプログラミングの具体例

問い合わせ画面の改修レビューで、SQLを文字列連結していた箇所をプレースホルダへ直した。氏名は許可リストで文字種を検証し、HTML本文と属性値で異なるエスケープを適用。エラー時にスタックトレースを画面へ出す実装も、識別番号だけ返す方式へ改めた。

セキュアプログラミングは試験でどう引っ掛けられる?

入力検証と出力エスケープはどちらか一方で足りる代替関係ではなく、両方必要。SQLインジェクション対策の本命はプレースホルダ(バインド機構)であって、特殊文字のエスケープは文字コードの扱い次第で破られ得る補助手段。エスケープは出力先の文脈ごとに方法が違うため、HTML本文向けの処理を属性値やJavaScript内、URL内に流用すると効かない。

最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。