Google Appエンジン用のJDO:引用符を逃がします
-
19-09-2019 - |
質問
JDO(Google App Engine)のクエリのパラメーターをエスケープするにはどうすればよいですか?
たとえば、変数名に単一の引用として安全でないcharが含まれている可能性がある場合、次のスニペットを安全にするにはどうすればよいですか( ')
PersistenceManager pm = ...;
String query = "select from Person where name='"+name+"'";
List<Shortened> shortened = (List<Shortened>) pm.newQuery(query).execute();
解決
代わりにクエリパラメーターを使用して、クエリ自体に値を含めるよりもはるかに安全です。 GAEドキュメントの例は次のとおりです。
Query query = pm.newQuery("select from Employee " +
"where lastName == lastNameParam " +
"order by hireDate desc " +
"parameters String lastNameParam");
List<Employee> results = (List<Employee>) query.execute("Smith");
所属していません StackOverflow