TGViewer
Data Science. SQL hub Data Science. SQL hub @sqlhub · 36K subscribers
Post #2089 6.4K
⚠️ SQL-инъекция через f-string

Если подставлять значения прямо в SQL через f-string, злоумышленник может выполнить любой код в базе:


name = "Alice'; DROP TABLE accounts; --"
query = f"SELECT * FROM accounts WHERE name = '{name}'"
conn.sql(query)


💥 И вот таблица accounts удалена!

Почему так?

Потому что строка с именем вставляется как есть и воспринимается как часть SQL-запроса.

✅ Правильный способ — использовать параметры:


name = "Alice'; DROP TABLE accounts; --"
query = "SELECT * FROM accounts WHERE name = ?"
conn.sql(query, params=(name,))

✔ Имя ищется как текст, база остаётся в безопасности.

👉 Запомни: никогда не вставляй пользовательские данные напрямую в SQL.

Используй параметризованные запросы — это надёжная защита от SQL-инъекций.

@sqlhub
  • 👍 19
  • 🔥 7
  • ❤ 6
More from @sqlhub
  1. Sep 24, 2026Softmax простыми словами: что значат 66,5% в ответе нейросети? Softmax простыми словами: C…
  2. Sep 24, 2026🔥Один слой данных вместо цепочки копий между системами В традиционной аналитической инфра…
  3. Sep 23, 2026⚡️ SQL-задача с опасным подвохом Какой баланс получит аккаунт после выполнения запроса в P…
  4. Sep 22, 2026🌟 Samsone: открытые аудиоязыковые модели для смартфонов Samsung опубликовали Samsone - се…
  5. Sep 22, 2026Объектное хранилище в эпоху быстрых данных Объём данных, с которыми нужно работать, растёт…
  6. Sep 21, 2026🧩 Сложная SQL-задача: симуляция DNS-кеша Есть таблица запросов: CREATE TABLE dns_requests…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →