はじめての親子ハイキングに挑戦!! >>

Oracle Pro*Cで静的SQLを利用している場合であっても、
SQLインジェクション対策は必要でしょうか?

また対策が必要な場合、どう対処すれば良いのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (2件)

確証はありませんが、プリペアドクエリとして動作する為、


SQLインジェクション対策は必要ないように感じます。
動作して確認する環境が言えないので定かではありませんが・・・。

一度単純なファイルを作ってみて、どういう風に動くか
確認してみてはいかがでしょう?
    • good
    • 0
この回答へのお礼

はい、実際に試してみたところ、問題はなさそう
(1つの値として扱われてそう)なのですが。

Pro*C(埋め込みSQL)に関する情報が少なく、
いまいちはっきりしないのです。

お礼日時:2008/02/05 19:16

Oracle Pro*Cは利用した事がないので何とも分かりませんが、


静的、つまり生成するSQL文は全てリテラル文字列で、外部からの干渉を受ける立場にないのに、
どうやってSQL文に文字を注入するのでしょうか?
    • good
    • 0
この回答へのお礼

すみません、静的SQLという表現はよくなかったですね。

例えば以下のような埋め込みSQLで、ホスト変数(in_pass)に
どのような値が設定されても、1つの値として扱われるという
確証を得たいのです。

EXEC SQL SELECT user, pass
INTO :str_user, :str_pass
FROM foo
WHERE pass = :in_pass;

in_pass ← "' OR 'A'='A" でも大丈夫?

お礼日時:2008/02/05 17:26

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す


人気Q&Aランキング