Параметризованные SQL-запросы
Делюсь с вами задачей, которую недавно встретила. Есть у нас вот такой простой запрос: Выполняем мы его через db.rawQuery(query, null) и получаем в ответ android.database.sqlite.SQLiteException: near "Artagnan": syntax error (code 1 SQLITE_ERROR): , while compiling: SELECT * FROM cats WHERE name = 'D'Artagnan'; Тут проблема в том, что catName содержит одинарную кавычку ('), которая не экранируется автоматически и конфликтует с кавычками, используемыми в самом запросе. Но почему это происходит, если...
230 читали · 4 месяца назад
SQL инъекция "Числовой входящий параметр". Как защититься?
SQL-инъекции — это тип атаки на веб-приложения, при которой злоумышленник вставляет или "впрыскивает" вредоносные SQL-запросы в поля ввода, чтобы манипулировать базой данных. Атака может привести к получению несанкционированного доступа к данным, их изменению или удалению. Уязвимость типа инъекции возникает из-за того, что входящие данные не проходят должной фильтрации. Наиболее частая ошибка разработчиков заключается в том, что они не проверяют и не очищают передаваемые параметры, например, идентификаторы (ID), прежде чем использовать их в запросах...