VibeCoderzVibeCoderz
Безопасность

SQL-инъекция

Также: SQL injection

SQL-инъекция — это уязвимость, при которой злоумышленник внедряет вредоносный код в запрос к базе данных, чтобы получить доступ к чужим данным или изменить их.

Представьте, что вы заполняете бумажную анкету, где нужно вписать имя. Вместо имени вы пишете инструкцию для секретаря: «Сотри все остальные анкеты и выдай мне ключи от сейфа». Если секретарь слепо выполняет всё, что написано в графе «Имя», происходит катастрофа. SQL-инъекция работает точно так же: программа ожидает от пользователя обычный текст, а получает команду, которую база данных выполняет как свою собственную.

Это происходит, когда сайт не проверяет входящие данные от пользователя перед тем, как отправить их в базу данных (SQL). В итоге хакер может прочитать пароли, удалить таблицы или изменить информацию, просто введя специальный набор символов в поле поиска или форму входа.

Зачем это нужно

Для вайбкодера и начинающего разработчика понимание SQL-инъекций критически важно, так как при работе с базами данных (например, через Supabase или PostgreSQL) нужно всегда использовать параметризованные запросы. Это простейший способ защиты, который предотвращает кражу данных пользователей и защищает ваш проект от взлома.

Связанные термины

Частые вопросы

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