Инъекция

Когда в поле ввода присылают не обычный текст, а кусок команды — и программа выполняет его как свою. Так «взламывают» через форму: в поле «имя» пишут не имя, а команду для базы данных или скрипт для страницы. Защита одна: всё, что пришло от человека, считать текстом, а не кодом.

Как это выглядит: Поле «Город»: вместо «Москва» вводят кавычку и команду — и небрежно собранный запрос к базе может отдать чужие данные. Лечится проверкой ввода и подстановкой значений, а не склейкой строки запроса.

Не путать: Инъекция — не «вирус на компьютере»: её присылают в обычном поле ввода. И «просто скрыть поле на странице» не помогает: запрос можно отправить и без формы, поэтому проверка нужна на сервере, а не только в браузере.

Откуда слово: От латинского iniectio — «вбрасывание», от inicere — «бросать внутрь» (in- «в» + iacere «бросать»). Тот же корень у медицинской инъекции и у «проекта» — буквально «брошенное вперёд». Смысл точный: в поток обычных данных «вбрасывают» команду, и программа путает одно с другим.

Связанные слова

Ещё слова раздела «Ошибки и отладка»

Весь словарь программиста — 135 слов с объяснениями, примерами и ссылками на уроки.

Что ещё есть на сайте

Учиться: Уроки · Программирование с нуля · Интерфейсы и сайты с нуля · Компьютер без страха · Если уже случилось · Какой компьютер нужен · Без кода: ставить задачу · Конструктор описания задачи

С чего начать: Гайды: с чего начать · Тест «с какого урока начать» · Профессии и языки

Потренироваться: Практикум: задачи из жизни · Игры-тренажёры · Симулятор: от задания до сдачи · Мастерская экрана · Колесо фортуны

Словари и юмор: Словарь программиста · Словарь руководителя · Корявые задачи

Сайт, оплата и помощь: Родителям · Инструкция пользователя · Сообщество · Подписка · Помощь и поддержка · Отзывы учеников · Профиль и пароль