Курс 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. Функция zip() в Python
  2. Конкатенация списков в Python
  3. 9 уловок для чистого кода
  4. Работа с географическими данными.
  5. Фильтры Pillow: NEAREST, BILINEAR, BICUBIC
  6. Проверка вхождения подстроки
  7. Основные функции и модули Python
  8. Объединение списков в Python.
  9. Группировка элементов Python
  10. Замена атрибута в именованном кортеже
  11. Метод join для наборов
  12. Сериализация и десериализация объектов
  13. Работа с модулем glob в Python
  14. Списковое включение в Python
  15. Скрытие вывода данных
  16. Работа с модулем Calendar
  17. PUT запрос для обновления данных
  18. Нахождение хеша для бесконечности и NaN в Python
  19. Любовь к Python
  20. Форматирование вывода с F-строками
  21. Метод is_absolute() для PurePath
  22. Структурирование именованных констант
  23. Проверка подстроки в строке с помощью in
  24. Профилирование с Pandas
  25. Добавление вложенных списков
  26. split() — разделение строки
  27. Тест скорости набора текста на Python
  28. Оператор == в Python
  29. Генераторы в Python
  30. Лямбда-функции в Python
  31. Операции с кортежами
  32. Управление сессиями в Python
  33. Возврат нескольких значений
  34. Работа с модулем os в Python
  35. Установка и использование модуля «howdoi»
  36. Объединение словарей в Python
  37. Модуль itertools: эффективная работа с итераторами
  38. Повторение элементов в Python
  39. Работа с IP-адресами в Python
  40. Измерение времени выполнения кода
  41. Работа с YAML в Python
  42. Lambda Functions in Python
  43. Преобразование регистра строк
  44. Метод repr() в Python
  45. Настройка вывода NumPy
  46. Работа с файлами в Python
  47. Измерение времени выполнения кода
  48. Визуализация пропусков данных

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