Курс 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. Упрощенный вывод данных в Python
  2. Работа с zip()
  3. Переопределение метода len
  4. Функции min(), max(), sum()
  5. Сортировка в Python
  6. Метод ior для битовых операций
  7. Очистка вывода в Python
  8. Структура данных словарь в Python
  9. Python Calendar Usage
  10. Методы classmethod и staticmethod
  11. Генерация ключей RSA
  12. Наиболее частотные элементы с помощью Counter
  13. Преобразование строки в число
  14. Регистрация на хакатоне
  15. Кортежи в Python: особенности и преимущества
  16. Проекты на Python
  17. Фильтрация списка от «ложных» значений
  18. Форматирование строк в Python
  19. Установка и использование модуля Wikipedia
  20. Методы HTTP запросов в Flask
  21. Конкатенация строк в Python
  22. Вызов функций по строке в Python.
  23. Переопределение метода __eq__
  24. Объединение коллекций в Python
  25. Поиск HTML-элементов с BeautifulSoup
  26. Многострочные комментарии в Python
  27. Протокол управления контекстом
  28. Мощь вложенных функций в Python
  29. Добавление кнопки в tkinter
  30. Bootle — простой веб-фреймворк
  31. Сложение матриц в NumPy
  32. Измерение потребления памяти при сортировке
  33. Создание таблиц в Python с PrettyTable
  34. Создание Telegram-бота на Python
  35. Enum в Python: создание и использование перечислений
  36. Утечки переменных цикла в Python 3.x
  37. Декораторы классов
  38. Создание словаря через dict comprehension
  39. Декоратор проверки активности
  40. Основы Python за 14 дней
  41. Метод repr() в Python
  42. Удаление ключа из словаря
  43. Создание новых функций с помощью functools.partial
  44. Подсказки типов в Python
  45. Работа с deque в Python

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