Выберите язык

Регистрация

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

Откуда возникает риск

Опасность появляется при сборке SQL из строк с непроверенными значениями. Источником могут быть параметры URL, поля формы, заголовки и ранее сохранённые данные. Проверка на стороне браузера не является границей безопасности.

Безопасные запросы в Joomla

Для значений используют подготовленные запросы и привязку параметров через API базы данных Joomla. Данные передаются отдельно от структуры запроса. Имена столбцов, направление сортировки и другие элементы синтаксиса выбирают из разрешённого списка, поскольку обычный параметр значения их не заменяет.

Проверка типа и допустимого диапазона нужна дополнительно. Универсальное удаление кавычек или HTML-фильтр не делают произвольный SQL безопасным. Учётной записи базы данных предоставляют только необходимые приложению права.

Что проверять владельцу сайта

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

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

Вывод

Основная защита от SQL-инъекции — отделение данных от команды. Привязка параметров, разрешённые значения и ограниченные права дополняют друг друга.

Список терминов
Весь глоссарий
Подписка на рассылку
Введите свой адрес электронной почты, и мы будем держать вас в курсе событий!

Joomla.center не связан с проектом Joomla!® или организацией Open Source Matters и не получает от них поддержки. Название и логотип Joomla!® используются на основании ограниченной лицензии, предоставленной Open Source Matters, владельцем товарного знака в США и других странах.