10

Вы можете удалить с помощью преобразователя контента URI или передать некоторые параметры параметру where.Как рекомендуется использовать метод удаления contentResolver для безопасной инъекции?

Как сделать параметры безопасными для SQL-инъекций?
Можно ли использовать Подготовленные отчеты с ContentResolver?

act.getContentResolver().delete(myuriwithid,null,null); 

act.getContentResolver().delete(mybaseuri," name = '"+this.name"'",null); 

ответ

16

Использовать позиционные параметры.

public final int delete (Uri url, String where, String[] selectionArgs) 

e.g.

ContentResolver cr = ...; 
String where = "nameid=?"; 
String[] args = new String[] { "george" }; 
cr.delete(Stuff.CONTENT_URI, where, args); 
+1

Безопасна ли эта инъекция SQL? – Pentium10

+0

Я не знаю. Если вы не доверяете ему, вы можете использовать SQLiteDatabase.execSQL («удалить ..») и закрепить запрос самостоятельно. –

+0

По моим тестам * кажется * безопасным для SQL-инъекций, но я не вижу его документально нигде. – cprcrack