0
私はSQLインジェクションプルーフをクエリにしようとしています。私はcouchbase式を使用してユーザー入力によるクエリを構築しています式内のSQL注入保護
private GroupByPath getSearchStatement(SearchParams searchParams) {
String bucketName = asyncBucket.name();
Expression expression = x("sample_id").eq(s(searchParams.getSampleId()));
String selectStatement = bucketName + ".*";
return select(selectStatement)
.from(bucketName)
.where(expression);
}
このコードはSQLインジェクションセーフですか?それとも私は何か余分なことをしなければならない。
これは私にとってCouchbaseのようには見えません。 –
@TimBiegeleisenそうですが。 'GroupByPath'はCouchabseのJava SDKインターフェイスです - http://docs.couchbase.com/sdk-api/couchbase-java-client-2.2.8/com/couchbase/client/java/query/dsl/path/GroupByPath。 html – nbokmans
それは見た目によって、['s(..)'](http://docs.couchbase.com/sdk-api/couchbase-java-client-2.3.5/com/couchbase/client /java/query/dsl/Expression.html#s-java.lang.String...-)は適切に入力をエスケープします。それを仮定しますが、それはちょうど推測です。 – zapl