Android Studio Sqlite Sqlinjection возможно с помощью жестов? - PullRequest
0 голосов
/ 06 января 2020

Я реализовал приложение, используя базу данных SQLite, и данные хранятся в фоновом режиме без каких-либо действий пользователя. Единственный момент, когда необходимо использование, - это когда данные удаляются жестом, и это мой вопрос. Можно ли сделать инъекцию SQL с помощью жеста, и если да, как я могу предотвратить это?

1 Ответ

1 голос
/ 06 января 2020

Если пользователь не вводит текст, то SQL Впрыск крайне маловероятен.

Однако, если вы полностью используете вспомогательные методы и / или rawQuery exe cSQL со вторым параметром, передавая любые значения через второй параметр, тогда значения будут связаны, что защищает от внедрения SQL .

  • Предполагается, что вы используете стандартную базу данных SQLite согласно SDK.

Примеры вставки строк

В этом примере используется exe cSQL (обе формы) и удобный метод insert , чтобы продемонстрировать принципы использования связанных аргументов и в первом примере не использовать связанный аргумент.

theSQLitedatabase.execSQL("INSERT INTO mytable VALUES('" + userdata + "')"); //<<<<<< potential for injection

theSQLitedatabase.execSQL("INSERT INTO mytable VALUES(?)",new String[]{userdata}); //<<<<< protects as value is bound by SQLite itself

/* Uses the convenience method that builds the SQL (as per 2nd example) and protects */
ContentValues cv = new Contentvalues();
cv.put(the_column_name_as_a_string,userdata);
theSQLitedatabase.insert("mytable",null,cv);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...