Показать сообщение отдельно

SQL-инъекции: как реально защитить свой сайт от банальных дыр?
  #1  
Старый 20.07.2026, 13:00
valera97978
Новичок
Регистрация: 22.01.2013
Сообщений: 36
С нами: 7002326

Репутация: 0
По умолчанию SQL-инъекции: как реально защитить свой сайт от банальных дыр?

Короче, столкнулся недавно с задачей проверить веб-приложение на SQL-инъекции. Самый базовый способ — подставить в поля ввода апострофы или типичные payload’ы из учебников, но этого недостаточно. Чтобы нормально защититься, я для начала сделал пару вещей: 1) проверил, где в коде реально вставляют пользовательский ввод в запросы без фильтра; 2) убедился, что используется подготовленные выражения (prepared statements), а не просто конкатенация строк; 3) добавил минимальную валидацию на уровне формы, но это помогает мало, если на сервере не защищено. Кто сталкивался — знает, без prepared statements и нормальных параметров никаких защит не будет.

Помимо этого, полезно следить за логами на предмет подозрительных запросов с типичными подделками. Еще советую посмотреть в сторону ORM-библиотек — там многие вещи уже само собой защищены, если правильно пользоваться. Но часто вижу, что народ растет, сажает plain SQL с простым конкатом и удивляется багам.

Ещё момент — иногда защитой может стать ограничение прав базы: если у приложения нет возможности DROP или INSERT, даже если инъекция случится, ущерб будет меньше. В общем, лучше на всех уровнях подумать: и приложение, и БД, и логи. Кто какие методы юзает для реальной защиты в проектах без головной боли?
 
Ответить с цитированием