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

Есть много выдающихся способов защитить приложения от SQL-инъекций, например, этот вопрос и ответы показывают некоторые способыКак предотвратить SQL-инъекцию в PHP?.

Этот вопрос касается уже написанного заявления. Мы не хотим изменять его, чтобы повысить его безопасность. Мы хотим знать, что используемый метод уязвим для инъекционных атак или нет.

Нам нужно знать, что эта часть кода является причиной утечки данных или нет?

Вот функция PHP для устранения некоторых бесполезных (для нас) и, возможно, вредных символов:

function removeBadCharacters($s)
{
   return str_replace(array('&','<','>','/','\\','"',"'",'?','+'), '', $s);
}

Он выбрасывает опасные символы, чтобы избежать атаки SQL-инъекцией(Не беспокойтесь об удаленных символах, таких как&<>/\"'?+ приложение не нуждается в них):

$x = removeBadCharacters($_POST['data']);

mysql_query("insert into table (x) values ('".$x."');");

mysql_query("select * from into where name = '".$x."';"); 

Достаточно ли этого, чтобы сделать запросы безопасными?

Есть ли способ обойтиremoveBadCharacters?

Как это можно сломать?

Ответы на вопрос(4)

Ваш ответ на вопрос