[Seasar-user:20995] Seasar2のSQLインジェクションについて
Toshiya Takahashi
[E-MAIL ADDRESS DELETED]
2011年 9月 9日 (金) 13:06:29 JST
はじめまして。高橋と申します。
Seasar2のSQLインジェクションについて調査中です。
ドキュメントや過去のメーリングリストを参照させていただきました。
ですが、初心者のため、最後の確信が持てず質問させていただきました。
現在、Java, Struts, Seasar2という環境において、
Dao内で、@[E-MAIL ADDRESS DELETED], @SqlFile, @Arguments, @Query アノテーションを主に使っております。
SQLインジェクション対策がなされているのは、
例えば
@S2Dao(bean = sample.class)を使うDAOファイル内においての
@Query("DirectoryName = /*directoryName*/")
や
@Sql("SELECT Number, LineNumber FROM NumberTable WHERE Number =
/*Number*/")
や
@SqlFileで指定された外部ファイルにおいて
select * from employee
where
salary >= /*salaryMin*/
ではPreparedStatementが使われ、SQLインジェクション対策がなされています(OK)が、
@Sql内において、
@Sql("SELECT count(NoteNumber) FROM NOTETABLE")
では,NoteNumberに関してSQLインジェクション対策がなされていない(NG)ということでしょうか。
また、
@Arguments( { "Number", "LineNumber" })
public Sample select(String Number, long LineNumber);
などは、SQLを自動生成するため、SQLインジェクション対策は事前になされている(OK)
ということでよろしいでしょうか。
考え違いや、その他何か考慮することがあれば、お教えいただければうれしく思います。
高橋
-------------- next part --------------
HTMLの添付ファイルを保管しました...
URL: <http://ml.seasar.org/archives/seasar-user/attachments/20110909/e468fe72/attachment.html>
Seasar-user メーリングリストの案内