JDO para Google App Engine: escape as cotações
-
19-09-2019 - |
Pergunta
Como faço para escapar dos parâmetros de consultas no JDO (Google App Engine)?
Por exemplo, como faço para tornar o próximo snippet seguro, se o nome da variável pode conter chars inseguros como citações únicas (')
PersistenceManager pm = ...;
String query = "select from Person where name='"+name+"'";
List<Shortened> shortened = (List<Shortened>) pm.newQuery(query).execute();
Solução
Em vez disso, use parâmetros de consulta, é muito mais seguro do que incluir os valores na própria consulta. Aqui está um exemplo da documentação do 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");
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow