Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що означає «SQL injection»?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**SQL Injection (SQL-ін'єкція)** - це **вразливість**, за якої зловмисник вставляє в запит **шкідливий SQL-код**, щоб отримати доступ до даних чи змінити їх; це стається, коли програма **не фільтрує введені користувачем дані**, і хакер може «дописати» свій SQL-запит прямо у форму чи URL. **Ключове:** приклад - якщо запит склеюється з рядків `"SELECT * FROM users WHERE login = '" + user_input + "'"`, а користувач введе `' OR '1'='1`, запит поверне **всі записи** з таблиці; захист - підготовлені вирази (prepared statements), параметризовані запити й перевірка введених даних.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**SQL Injection (SQL-ін'єкція)** - це **вразливість**, за якої зловмисник вставляє в запит **шкідливий SQL-код**, щоб отримати доступ до даних чи змінити їх. Простіше кажучи, коли програма **не фільтрує введені користувачем дані**, хакер може «дописати» свій SQL-запит прямо у форму чи URL. ### Приклад небезпечного коду ```sql query = "SELECT * FROM users WHERE login = '" + user_input + "'"; ``` Якщо користувач введе: ```javascript ' OR '1'='1 ``` Запит стане: ```sql SELECT * FROM users WHERE login = '' OR '1'='1'; ``` - і поверне **всі записи** з таблиці `users`. SQL-ін'єкції дозволяють: - отримати логіни й паролі, - видалити дані (`DROP TABLE`), - змінити права доступу. Щоб захиститися, потрібно використовувати: - **підготовлені вирази (prepared statements)**, - **параметризовані запити**, - перевірку й екранування введених даних. **Підсумок:** SQL-ін'єкція - це **втручання в запит через введені дані**, яке може призвести до **злому бази**.Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.