SQL-инъекция будет работать только тогда, когда мой запрос будет выглядеть следующим образом:
SELECT * FROM login WHERE id = $my_id_va;
Предположим, что мой запрос
SELECT * FROM login WHERE id = $my_id_va ORDER BY id DESC
Чем я получу следующую ошибку
# 1064 - у вас ошибка в синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом с 'order by id desc' в строке 1
Итак, 1 or 1=1; SHOW TABLES
не будет работать, верно?
Мой сайт был взломан подряд много раз.
Я хочу один быстрый ответ: Когда мой запрос похож на следующий, какие способы или типы запросов они могут использовать для взлома моего сайта?
SELECT * FROM login WHERE id = $my_id_va ORDER BY id DESC
Как выполнить show table
в следующем запросе
SELECT * FROM login WHERE id = $my_id_va ORDER BY id DESC
Я также использую функцию escape для обработки значений строки запроса, например mysql_real_escape_string($my_id_va)
.Да, очевидно, это для одного связанного взлома, но не уверен.
Добавлен еще
SELECT EventActuallyCharged, EventDate FROM tblevent WHERE EventDate between '2011-07-21 or 1=1; SHOW TABLES --' and '2011-07-31' ORDER BY EventDate DESC
, но таблица показа не работает