情報処理安全確保支援士 令和5年度春期【過去問解説午後1問1】
2023年4月16日実施の情報処理安全確保支援士解答速報
毎年のことながら7~8割の正解率かと思います。間違いや不明点ございましたらコメントください。
不得意分野だわ、、開発者の方以外選んではダメですね。
一部分からないところがあるので後で見直し。 ⇒ 完了
更新履歴 | 更新日時 | 内容 |
---|---|---|
初版 | 2023/4/16 20:59 | |
解答まとめ
設問1 | |
(1) | 13 |
(2) | in |
(3) | WHERE head.order_no = ? PreparedStatement stmt = conn.prepareStatement(sql); |
設問2 | |
(1) | orderNo |
(2) | static |
(3) | レースコンディション |
(4) | g : String orderNo h : new i : getOrderInfoBean(orderNo) |
(5) | 得意先コード |
他の解答・解説
- 1. 情報処理安全確保支援士問1 Webアプリケーションプログラム開発
- 1.1. 設問1 [ツールによるソースコードの静的解析] について答えよ。
- 1.1.1. (1)表1中のaに入れる適切な行番号を,図1中から選び,答えよ。
- 1.1.2. (2)表1中のbに入れる適切な変数名を、 図1中から選び,答えよ。
- 1.1.3. (3)図2中のc,dに入れる適切な字句を答えよ。
- 1.2. 設問2 [システムテスト] について答えよ。
- 1.2.1. (1)本文中のeに入れる適切な変数名を, 図5中から選び, 答えよ
- 1.2.2. (2)本文中のfに入れる適切な字句を, 英字 10字以内で答えよ。
- 1.2.3. (3)本文中の下線 1の不具合は何と呼ばれるか。 15字以内で答えよ。
- 1.2.4. (4)図6中のg , 図7中のh ,i に入れる適切な字句を答えよ。
- 1.2.5. (5)本文中のjに入れる適切な属性名を,図3中から選び,答えよ。
- 2. その他の解説
情報処理安全確保支援士
問1 Webアプリケーションプログラム開発
設問1 [ツールによるソースコードの静的解析] について答えよ。
(1)表1中のaに入れる適切な行番号を,図1中から選び,答えよ。
解答
13
解説
パスに関連する処理をしているのは13行目のみ
ちなみに、コードには記述がありませんが、問題文に「Y社とY社の得意先が注文番号を基に注文情報を照会する機能」と記述がありますので、注文番号は入力されるものと想定ができる。
(2)表1中のbに入れる適切な変数名を、 図1中から選び,答えよ。
解答
in
解説
bufferinputstreamのやつです。
(3)図2中のc,dに入れる適切な字句を答えよ。
解答
c | WHERE head.order_no = ? |
d | PreparedStatement stmt = conn.prepareStatement(sql); |
解説
SQLインジェクション対策
選択問題ではなくコードを書かせるという点で難易度高め
設問2 [システムテスト] について答えよ。
(1)本文中のeに入れる適切な変数名を, 図5中から選び, 答えよ
解答
orderNo
解説
setOrderNoクラスがstaticに宣言されている点に注意
(2)本文中のfに入れる適切な字句を, 英字 10字以内で答えよ。
解答
static
解説
static変数はスレッド間で共有オブジェクトとなるため、複数のスレッドから同時にこの変数が呼ばれると変数が使いまわされてしまい、意図しない挙動が発生します。
(3)本文中の下線 1の不具合は何と呼ばれるか。 15字以内で答えよ。
解答
レースコンディション
解説
聞いたことなかったですが、こう言うらしい。
(4)図6中のg , 図7中のh ,i に入れる適切な字句を答えよ。
解答
g | String orderNo |
h | new |
i | getOrderInfoBean(orderNo) |
解説
2行目から5行目の部分が削除されるためその部分を書き直すのと、レースコンディション問題の原因となっていたorderNoをstaticなクラス宣言していた部分を解消します。
g : 注文情報の取得メソッドに直接orderNoを渡す必要が出たので引数に追加
h : 5行目で使うOrdernifoBLのインスタンス作成
i : gで追加した引数も踏まえて関数を利用
(5)本文中のjに入れる適切な属性名を,図3中から選び,答えよ。
解答
得意先コード
解説
セッションオブジェクトに保存されているものは「得意先コード」及び「得意先名」です。
このうち「注文ヘッダテーブル」にも存在しているのは『得意先コード』のみ
設問2の(4)
わたくしの回答として参考程度に
g : string orderNo
h : new
i : getOrderInfoBean(orderNo)
コメントありがとうございます!参考にさせて頂きます。
また後で見直しいたします。