Курс Python → Безопасные SQL-запросы в Python 3.11

SQL-инъекции — это один из наиболее распространенных способов атаки на веб-приложения. При этом злоумышленник может внедрить SQL-запрос в пользовательский ввод и получить несанкционированный доступ к базе данных. Для защиты от таких атак необходимо использовать безопасные методы работы с базой данных.

В Python 3.11 был добавлен новый класс LiteralString, который позволяет создавать безопасные SQL-запросы. Этот класс автоматически экранирует специальные символы в строке, что делает ее недоступной для инъекций. Таким образом, использование LiteralString обеспечивает надежную защиту от SQL-инъекций.

Пример использования LiteralString для защиты от SQL-инъекций:


from psycopg2 import sql

query = sql.SQL("SELECT * FROM users WHERE username = {}").format(sql.LiteralString(username))

В данном примере переменная username экранируется с помощью LiteralString, что позволяет передавать ее в SQL-запрос без опасения SQL-инъекций. Таким образом, использование LiteralString в Python 3.11 обеспечивает безопасность работы с базой данных и защиту от потенциальных атак.

Твои коллеги будут рады, поделись в

Автор урока

Дмитрий Комаровский
Дмитрий Комаровский

Автоматизация процессов
в КраснодарБанки.ру

Другие уроки курса "Python"

  1. Измерение времени выполнения кода
  2. Объединение строк с помощью метода join
  3. Обработка ошибок в Python
  4. Инициализация структур данных
  5. Работа с Requests для HTTP-запросов
  6. Построение графиков в терминале с bashplotlib
  7. Декоратор проверки активности
  8. Работа с многоуровневыми словарями в Python
  9. Извлечение статей с newspaper3k
  10. Загрузка постов Instagram
  11. Метод ifloordiv для пользовательских классов
  12. Правила именования переменных
  13. Оператор Walrus: правильное использование
  14. Генераторы в Python
  15. Измерение времени выполнения кода
  16. Метод index() в Python
  17. Работа с YAML в Python
  18. Работа с переменными в Python
  19. Разбиение строки в Python
  20. Преобразование символов с помощью map
  21. Подсчет элементов в списке с Counter
  22. Удаление эмодзи с помощью pandas
  23. Перетасовка списков в Python
  24. Настройка шрифта и цвета в Tkinter
  25. Блок else в циклах.
  26. Модуль xkcd: загрузка комиксов
  27. Цепные операции в Python
  28. Хранение переменных в Python.
  29. Вызов внешних программ в Python с помощью sh
  30. Проверка надежности пароля на Python
  31. Установка и использование Telegram API в Python
  32. Оптимизация памяти с __slots__
  33. Списки в Python: синтаксис представления
  34. Генерация UUID в Python
  35. Транспонирование матрицы в Python
  36. Мощь вложенных функций в Python
  37. Циклы в Python
  38. Создание коллекций из выражения-генератора
  39. Разработка игры Pong с turtle
  40. Метод is_absolute() для PurePath
  41. Объединение, распаковка и деструктуризация
  42. Создание новых списков через list comprehensions
  43. Создание словарей и множеств в Python.
  44. Работа с JSON данными в Python
  45. Генерация QR-кодов с Python
  46. Изменение списка срезами

Marketello читают маркетологи из крутых компаний