Курс 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. Форматирование данных с pprint
  2. Удаление символа из строки
  3. Оптимизация создания строк
  4. F-строки в Python 3.8
  5. Определение объема памяти объекта
  6. Объединение объектов в Python
  7. Функция enumerate() в Python
  8. Функция format() в Python
  9. Удаление и повторная вставка ключа в OrderedDict
  10. Python Поверхностное Копирование
  11. Функции range() в Python
  12. Работа с очередями в Python
  13. Создание класса очереди
  14. Библиотека funcy: удобные утилиты
  15. Удаление ресурса в Python
  16. Класс-оболочка для словарей
  17. Проверка строки на палиндром
  18. Изменения в обработке логических значений
  19. Отношения подклассов в Python
  20. Генератор списка с условием if
  21. Python Translator: создание локальных переводчиков
  22. Умножение строк и списков
  23. Подсчет элементов в Python
  24. Объединение словарей в Python 3.5+
  25. Объединение словарей в Python
  26. Проверка однородности элементов списка
  27. Переворот строки с помощью срезов
  28. Статическая типизация в Python
  29. Установка Home Assistant
  30. Обработка аргументов Python
  31. Работа с рекламными данными в Pandas
  32. Класс Counter() для подсчета элементов
  33. Удаление элементов из списка в Python
  34. Преобразование списка в словарь через генератор
  35. Конкатенация строк с join() в Python
  36. Копирование и вставка текста в Python
  37. Простой калькулятор Python
  38. Python Calendar Usage
  39. Python union() функция — объединение множеств
  40. Установка пакета в Python
  41. Получение текущей директории
  42. Отправка поздравлений по дню рождения
  43. Считывание бинарного файла в Python
  44. Пропуск начальных строк с помощью dropwhile()
  45. Генераторы списков в Python

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