Используя регулярное выражение для удаления текста, которое может вызвать SQL-инъекцию, похоже, что оператор SQL отправляется в базу данных через Statement
, а не в PreparedStatement
.
Одним из самых простых способов предотвратить внедрение SQL в первую очередь является использование функции PreparedStatement
, которая принимает данные для замены в оператор SQL с использованием заполнителей, который не полагается на строку конкатенации для создания оператора SQL для отправки в базу данных.
Для получения дополнительной информации, Использование подготовленных выражений из Учебники по Java будут хорошим местом для начать.