Инъекция
Когда в поле ввода присылают не обычный текст, а кусок команды — и программа выполняет его как свою. Так «взламывают» через форму: в поле «имя» пишут не имя, а команду для базы данных или скрипт для страницы. Защита одна: всё, что пришло от человека, считать текстом, а не кодом.
Как это выглядит: Поле «Город»: вместо «Москва» вводят кавычку и команду — и небрежно собранный запрос к базе может отдать чужие данные. Лечится проверкой ввода и подстановкой значений, а не склейкой строки запроса.
Не путать: Инъекция — не «вирус на компьютере»: её присылают в обычном поле ввода. И «просто скрыть поле на странице» не помогает: запрос можно отправить и без формы, поэтому проверка нужна на сервере, а не только в браузере.
Откуда слово: От латинского iniectio — «вбрасывание», от inicere — «бросать внутрь» (in- «в» + iacere «бросать»). Тот же корень у медицинской инъекции и у «проекта» — буквально «брошенное вперёд». Смысл точный: в поток обычных данных «вбрасывают» команду, и программа путает одно с другим.
Связанные слова
Ещё слова раздела «Ошибки и отладка»
Весь словарь программиста — 135 слов с объяснениями, примерами и ссылками на уроки.