Курс 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. Получение срезов итераторов
  2. Избегайте пустого списка
  3. Декоратор проверки активности
  4. Вывод букв строки в Python
  5. Оптимизация поиска в словарях
  6. Итераторы в Python
  7. Оператор is в Python
  8. Python defaultdict добавление ключа
  9. Обязательные аргументы в Python
  10. Автоматизация с Python
  11. Замыкания в Python
  12. Склеивание строк без циклов
  13. Python Enumerate
  14. Переменная Шредингера
  15. Отношения подклассов в Python
  16. Функциональное программирование в Python
  17. Автоматизация скриптов на AWS Lightsail.
  18. Резервирование символов в Python
  19. Обработка исключений
  20. Преобразование строк в числа с плавающей запятой
  21. Операции с датами в Python
  22. Модуль os: работа с файлами и папками
  23. Проверка запуска скрипта или импорта модуля
  24. Объединение словарей в Python
  25. Списковый компрехеншен.
  26. Python Поверхностное Копирование
  27. Руководство по Pymorphy2
  28. Оператор continue в Python
  29. Python 3.12: Псевдонимы типов
  30. Поиск кода
  31. Преобразование текста в нижний регистр
  32. Эффективная конкатенация строк с использованием join()
  33. Python: библиотеки и функции
  34. Python union() функция — объединение множеств
  35. Списки в Python: основы
  36. Проверка подстроки в строке с помощью in
  37. Метод splitlines() для разделения строк
  38. Оценка точности модели
  39. Модуль subprocess: запуск внешних команд
  40. Вызов внешних программ в Python с помощью sh
  41. Работа с Path в Python
  42. Обработка исключений в Python
  43. Применение функции к элементам списка

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