На этом уроке мы сделаем бекап базы данных, затем продемонстрируем «взлом» страницы посредством SQL-инъекции, покажем, как от этого защититься и потом восстановим базу данных.
Дата отправки отчёта:
22 апреля 2019 г.
Задание выполнено: за
4 час. 12 мин.
Чему научился:
Сделал бекап БД (пару раз во время тестов поубивал БД и делал снова). Написал SQL-инъекцию и защиту против нее. Убедился, что все работает. ЗЫ: вот так и воруются БД телефонов =)
Научился: Интересно, что у меня при таком же, как в уроке, запросе, в ответ просто приходит ошибка, а не история по номеру в начале "инъекции". Видимо, какая-то разница в реализации MySQL и MSSQL.
Конечно, если н епредусмотреть защиту от SQL-инъекций, то возможности для злоумышленника поистине безграничны :) Интересно почитать на эту тему, потому что подозреваю, что одной такой предосторожности, как в уроке, явно недостаточно.
Научился: Сделалал бекап базы данных двумя способами
Написал в адресной строке браузера SQL-инъекцию
Убедился, что она сработала: записи из таблицы удалены
Добавил в модель MySQL функцию addslashes()
Проверил, что SQL-инъекция не проходит
Восстановил базу данных из бекапа
Трудности: все понятно, интересная тема.
В какую сторону нужно копать, чтобы разобраться с одинарными ковычками и слешами в представлении SQL запроса в коде?