Могу ли я быть уязвимы к SQL-инъекции , добавив вход без пробелов на мой вопрос ?

я беру в строку ввода пользователя и разделить его на пробел (с помощью \w) в массив строк. Я тогда цикл по массиву, и добавить часть where вот так:

            query += " AND ( "

                 + "field1 LIKE '%" + searchStrings[i] +"%' "
                 + " OR field2 LIKE '%" + searchStrings[i] +"%' "
                 + " OR field3 LIKE '%" + searchStrings[i] +"%' "
                 + ") ";

мне кажется, что это очень опасно, так как я добавления на пользовательский ввод на мой запрос. Однако, я знаю, что нет каких-либо пробелов в любой из строки поиска, так как я split первоначальные затраты на пробел.

Есть ли возможность для атаки посредством SQL-инъекции? Давая Robert');DROP TABLE students;-- на самом деле не роняйте посторонние предметы, так как там должен быть пробел. В этом примере, будут вести себя не адекватно, но никаких повреждений не было бы сделано.

Может кто-нибудь с более опыт борьбы с SQL-инъекции, помогите мне исправить это, или положить мой ум в покое?

Спасибо!

РЕДАКТИРОВАТЬ:

Вау, что это очень большой вклад. Спасибо всем, кто откликнулся. Я буду расследовать полнотекстового поиска и, как минимум, параметризовать мой запрос.

Только так я могу лучше понять проблему, можно будет внедрить если все пробельные символы одинарные кавычки были сбежал?

Найдено 7 ответов:

Can I be vulnerable to SQL injection by appending input with no whitespace to my query?

http://stackoverflow.com/questions/372933/can-i-be-vulnerable-to-sql-injection-by-appending-input-with-no-whitespace-to-my

Посмотреть решение →