答えて

9

はい、あります。

HQLまたはJPQLのクエリパラメータと同様に、Criteria APIもパラメータをエスケープし、悪質なSQLは実行しません。

この脆弱性は、パラメータをクエリに連結するだけで公開されます。その後、悪質なSQLがクエリの一部になります。

EDIT OWASPの機能はSQL injection prevention cheatsheetです。基準クエリを使用することは、防御オプション1と同じです:準備されたステートメントの使用。

+0

結論は何ですか?条件APIはSQLインジェクションから自分のウェブサイトを完全に保護しますか? –

+1

@яєηנιтн.я申し訳ありません。はい、そうです。 – kostja

+3

@яєηנιтн.я実際にSQLインジェクションからあなたを守るのは、Criteria、HQL、または純粋なJDBCで使用される 'Statements'です。結論は次のとおりです。Stringを連結してクエリを作成しないでください。 APIを使用します。 –

関連する問題