В коде движка нашел подобный код (и не в одном месте)
$delete_name=str_replace("'","",$_GET['delete_name']);
$query="select count(*) from catalog_data where name='".$delete_name."'";
$kol = query_count($query);
т.е по-сути, перед отправкой в базу, только замена одинарной кавычки. Насколько безопасна данная выборка будет, если нет никакой фильтрации или pdo ?
Желательно развернутый ответ, если небезопасно ! Спасибо
Строго говоря, MySQL требует только, чтобы обратная косая черта \
и
символ кавычки '
, используемый, используемый для указания строки в
запросе, были экранированы.
Функция mysql_real_escape_string экранирует другие символы, чтобы облегчить их чтение в файлах журнала.
https://stackoverflow.com/questions/16255585/what-does-the-x1a-characters-mean/#16255607
Экранирование слэша нужно чтобы при экранировании кавычки нельзя было экранировать сам добавляемый слэш. В вашем примере делается не экранирование кавычки, а удаление, значит со слэшем делать ничего не надо и инъекция SQL кода невозможна.
Тем не менее можно как минимум вызвать отказ в обслуживании, передав обратную косую и заэкранировать последнюю одинарную кавычку
Виртуальный выделенный сервер (VDS) становится отличным выбором
Мне нужно научиться использовать многопоточность при добавлении или удалении значения в вектореЯ создала функцию CopyDataTo, чтобы вывести на экран,...
Добрый вечер еще разПрограмма неправильно считывает данные из файлов