Курс 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. Создание панели меню Tkinter
  2. Разбиение текста в Python
  3. Обработка исключений в Python
  4. Логические значения в Python
  5. Метод split() для разделения строк
  6. Python: отсутствие точек с запятыми
  7. Удаление ссылок в Python
  8. Генераторы данных
  9. Перегрузка операторов в Python
  10. Функции all() и any() в Python
  11. Изучение объектов с помощью dir()
  12. Переворот списка в Python
  13. Склеивание строк без циклов
  14. Анонимные функции Lambda
  15. Работа с набором данных CIFAR10 в PyTorch
  16. Управление экспортом элементов
  17. Методы обработки строк в Python
  18. Python: изменяемые и неизменяемые коллекции
  19. Динамическая типизация в Python
  20. Магические методы в Python
  21. Реализация метода __abs__ в Python
  22. Сравнение строк в Python
  23. Транспонирование 2D-массива с помощью zip
  24. Операции с массивами в NumPy
  25. Оператор распаковки в Python
  26. Работа со строками в Python
  27. Создание класса очереди
  28. Создание пустых функций и классов в Python
  29. Запуск асинхронной корутины
  30. Поиск с помощью регулярных выражений
  31. Реализация операции -= для пользовательского класса
  32. Регистрация на курсы SF Education
  33. Метод ior для битовых операций
  34. Работа с изображениями PIL
  35. Работа со случайными элементами
  36. Удаление элементов из списка в Python
  37. Курсы Яндекс Практикум
  38. Оператор space-invader
  39. Функция pow() — возвести число в степень
  40. Извлечение аудио из видео
  41. Обработка ошибок в Python
  42. Оператор += в Python
  43. Функция eval() в Python
  44. Шаблоны Flask: условия и циклы
  45. Объединение списков в Python
  46. Копирование и вставка текста в Python
  47. Генератор списка в Python

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