android
  • android-sqlite
  • 2015-06-17 3 views 2 likes 
    2

    Является ли метод query() предоставленным SQLiteDatabase классом безопасным для использования, не беспокоясь о SQL-инъекциях?Является ли это заявление SQL SQL уязвимым для SQL-инъекции?

    db.query(TABLE,cols,COL_ID + " = '" + id + "' AND " + COL_FROM + " = '" + from + "'",null,null,null,null); 
    

    The id и from переменных полностью неэкранированный.

    Или следующий безопасный путь?

    "column=? OR column2=?", 
         new String[] {"value1", "value2"} 
    

    ответ

    3

    ли query() метод, предоставляемый SQLiteDatabase класса безопасной для использования, не беспокоясь о инъекций SQL?

    No.

    query(), по существу, лишь обертка для SQLiteQueryBuilder и создает необработанное заявление SQL, который получает выполняется как есть.

    Или следующий безопасный путь?

    Не строго говоря только, но простой и безопасный способ, да.

    (Обратите внимание, что вы перешли AND к OR.)

    +0

    мне было интересно, если вы могли бы мне помочь с этим вопросом http://goo.gl/d5opg5. Я обещаю, что это не одно из вопросов «исправление для меня». – Axel

    Смежные вопросы