Значение для Android: maxLength для поля editText, чтобы избежать SQLInjection в Android - PullRequest
0 голосов
/ 21 июня 2019

Я создавал приложение для Android относительно формы студента, у меня есть знания о SQLInjection, и поэтому я хочу избежать этого.

Следовательно, я не могу получить значение, которое я должен установить для этих полей для правильной работы, а также защиты приложения от SQLInjection атак.

Я пробовал поля android:maxLength=120 для Firstname.Но я замечаю, что это на самом деле очень долго.

Ответы [ 2 ]

1 голос
/ 21 июня 2019

В вашем случае SQL-инъекция должна быть отфильтрована из Backend. Например, в PHP вы можете использовать PreparedStatements и вставлять данные, используя его, чтобы предотвратить SQL-инъекцию. Теперь, насколько я понимаю, вы можете отфильтровать специальные символы, которые никогда не будут использоваться в имени, используя регулярные выражения. Установка длины не поможет в этом случае

0 голосов
/ 21 июня 2019

Для предотвращения SQLInjection вы должны использовать только arrayOf так:

private var database: Database? = null
val a = database().rawQuery(
           "SELECT * FROM students WHERE name=? AND id=? ,
           arrayOf(students, name)
       )

когда вы пишете запрос, который вы должны использовать? вместо аргументов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...