[Seasar-user:19239] リクエストパラメタ内のNULL文字について

落合 あずみ [E-MAIL ADDRESS DELETED]
2010年 2月 5日 (金) 14:58:00 JST


お世話になっております。
落合と申します。

J2SDK 1.5.0.09
Tomcat5.5.23
s2-framework-2.4.39
teeda-extension-1.0.13-sp7
でWEBシステムを開発しています。

WEBの画面から入力された内容をツール等で改ざんし
リクエストを投げた場合の処理に関して質問があります。

現在作成しているプログラムでは、
特に内容のチェックをせずに、受け取ったパラメタを使用し
S2Daoで作成したSELECT文の実行を行っています。
(使用DBはOracle10gで、検索はOracleTextを使用しています)

通常のデータでは問題ないのですが、
文字列の中にNULL文字(\00)を含めリクエストを投げると
以下のようなExceptionを吐き出します。

ORA-29902: ODCIIndexStart()ルーチンの実行中にエラーが発生しました。
ORA-20000: Oracle Text error:
DRG-50900: 行1(列9)にテキスト問合せの解析エラーが発生しました  
DRG-50917: テキスト問合せ文字列の終わりでエスケープします

現在は、リクエストパラメタのチェックとしてNULL文字がある場合は
文字列の置き換えを行って対処しています。

この辺りのチェックについて、NULL文字に限らず
制御文字全般をチェックできる方法はありますでしょうか。

以上です。
よろしくお願い致します。



Seasar-user メーリングリストの案内