Курс 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. Функция reduce() из модуля functools
  2. Настройка вывода NumPy
  3. Генерация строк с .join()
  4. Создание объекта времени
  5. Сравнение def и lambda-функций
  6. Определение объема памяти объекта
  7. Эффективная конкатенация строк в Python
  8. Возврат нескольких значений
  9. Возврат нескольких значений
  10. Python Enum Weekday Usage
  11. Возведение в квадрат с помощью itertools
  12. Использование функции product
  13. Поиск кода
  14. Модуль itertools: комбинации и перестановки
  15. Значения по умолчанию в Python
  16. Конкатенация строк с методом join()
  17. Проектирование Singleton с метаклассом
  18. Генераторы в Python
  19. Роль object и type в Python
  20. Метод __float__ в Python
  21. Извлечение новостей с помощью newspaper3k
  22. Python reversed() функция
  23. Мониторинг памяти с Pympler
  24. Обработка исключений в Python
  25. Измерение времени выполнения в Python
  26. Переопределение метода __pow__
  27. Сложение матриц в NumPy
  28. Объединение списков в строку
  29. Создание даты из строки ISO
  30. Обработка исключений в Python
  31. Работа с очередями в Python
  32. Работа с необработанными строками
  33. Проверка дубликатов в Python
  34. Основы работы с os
  35. Форматирование строк в Python
  36. Операция += для списков
  37. Работа с изображениями Pillow
  38. Работа с контекстными переменными
  39. globals и locals
  40. Особенности множеств в Python
  41. Использование эмодзи в Python
  42. Работа с модулем Calendar
  43. Работа с итераторами через срезы
  44. Лямбда-функции в Python
  45. Генерация ключей RSA
  46. Использование модуля __future__

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