• プログラミング教室、小中高生、大人、コンピュータ科学

▼FE平成30年度春期:問41 SQLインジェクション攻撃による被害を防ぐ方法はどれか。

ア 入力された文字が、データベースへの問い合わせや操作において、特別な意味をもつ文字として解釈されないようにする。

イ 入力にHTMLタグが含まれていたら、HTMLタグとして解釈されない他の文字列に置き換える。

ウ 入力に上位ディレクトリを指定する文字列(../)が含まれているときは受け付けない。

エ 入力の全体の長さが制限を超えているときは受け付けない。

▼上に出てきた用語の意味
【SQLインジェクション攻撃 SQL Injection】アプリケーションのセキュリティ上の不備を利用し、アプリケーションが想定しないSQL文を実行させることにより、データベースシステムを不正に操作する攻撃方法。(Wikipedia)

【SQL 何かの略語ではない】関係データベース管理システム (RDBMS) において、データの操作や定義を行うためのデータベース言語(問い合わせ言語)。プログラミングにおいてデータベースへのアクセスのために、他のプログラミング言語と併用される。(Wikipedia)

▼今回の問いとFEのシラバス(セキュリティ)の関連を赤の★印、既出は橙色の★印で示しました。

表の出所 FEのシラバスから筆者が作成。

▼FEのシラバスでの位置付け 
5.セキュリティ実装技術 >(5)アプリケーションセキュリティ:イントラネットやインターネットで使用される電子メールなどに対する攻撃を抑制するアプリケーションセキュリティの対策のあらましを理解する。
[用語例]Web システムのセキュリティ対策、セキュリティバイデザイン、プライバシーバイデザイン、セキュアプログラミング、脆弱性低減技術(ソースコード静的検査、プログラムの動的検査、ファジングほか)、パスワードクラック対策(ソルトほか)、バッファオーバフロー対策、クロスサイトスクリプティング対策、SQL インジェクション対策(プレースホルダほか)。
解答ア