Курс 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. Пространство имен в Python
  3. Создание и удаление объектов
  4. Лямбда-функции в defaultdict
  5. split() без разделителя
  6. Генерация QR-кодов с Python
  7. Генераторы в Python
  8. Асинхронное выполнение задач в Python
  9. Однострочники Python
  10. Логирование в Python
  11. Ускоренный импорт библиотек
  12. Декораторы в Python
  13. Создание новых списков в Python
  14. Аннотации типов в Python
  15. Управление контекстом с помощью декоратора contextmanager
  16. Функции any() и all() в Python
  17. Извлечение статей с newspaper3k
  18. Справка по импортированным модулям
  19. Абстракции словарей и множеств в Python
  20. Работа с JSON данными в Python
  21. Модуль Antigravity в Python 3
  22. Операторы += в Python
  23. Получение текущей даты и времени с помощью datetime
  24. Поиск частых элементов в списке
  25. Объединение списков с помощью zip
  26. Создание словаря через dict comprehension
  27. PUT запрос для обновления данных
  28. Поиск индекса элемента
  29. Python: динамическая типизация и проверка типов
  30. Декораторы в Python
  31. CLI-инструмент howdoi
  32. Декораторы в Python
  33. Измерение времени выполнения кода
  34. Перехват исключений в Python
  35. Роль object и type в Python
  36. Генераторы списков
  37. Форматирование даты с strftime()
  38. Подсчет элементов с помощью Counter
  39. Мониторинг работы программы Py-spy
  40. Изучение объектов с помощью dir()
  41. Игра «Камень, ножницы, бумага» — Python
  42. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  43. Сравнение объектов в Python
  44. Функция all() в Python
  45. Переменные класса и экземпляра
  46. Список методов и атрибутов

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