SQL-инъекция
Также: SQL injection
SQL-инъекция — это уязвимость, при которой злоумышленник внедряет вредоносный код в запрос к базе данных, чтобы получить доступ к чужим данным или изменить их.
Представьте, что вы заполняете бумажную анкету, где нужно вписать имя. Вместо имени вы пишете инструкцию для секретаря: «Сотри все остальные анкеты и выдай мне ключи от сейфа». Если секретарь слепо выполняет всё, что написано в графе «Имя», происходит катастрофа. SQL-инъекция работает точно так же: программа ожидает от пользователя обычный текст, а получает команду, которую база данных выполняет как свою собственную.
Это происходит, когда сайт не проверяет входящие данные от пользователя перед тем, как отправить их в базу данных (SQL). В итоге хакер может прочитать пароли, удалить таблицы или изменить информацию, просто введя специальный набор символов в поле поиска или форму входа.
Зачем это нужно
Для вайбкодера и начинающего разработчика понимание SQL-инъекций критически важно, так как при работе с базами данных (например, через Supabase или PostgreSQL) нужно всегда использовать параметризованные запросы. Это простейший способ защиты, который предотвращает кражу данных пользователей и защищает ваш проект от взлома.