Курс 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. Работа с файлами в Python
  3. Настройка шрифта и цвета в Tkinter
  4. Функция reduce() в Python
  5. Создание таблиц в терминале с PrettyTable
  6. Генерация случайных данных в NumPy
  7. Оценка выражений генератора в Python
  8. Python enumerate() использование
  9. Подсчет элементов в Python
  10. Модуль xkcd: добавление юмора в Python
  11. Логирование с Logzero
  12. Создание итератора
  13. Получение значений из словарей
  14. Работа со строками в Python
  15. Удаление элементов во время итерации
  16. Метод get для словарей
  17. Операции с массивами в NumPy
  18. Операторы сравнения в Python
  19. Метод Self в Python
  20. Функция product() в Python
  21. Создание веб-приложения с Flask
  22. Метод округления чисел
  23. ROT13 Шифр Цезаря в Python
  24. Работа с библиотекой xkcd
  25. Возвращение нескольких значений через кортеж или класс
  26. Многоточие в Python
  27. Метод __getitem__ в Python
  28. Сортировка HTML-элементов
  29. Работа с NumPy массивами
  30. Регулярные выражения в Python
  31. Конвертация изображений в PDF
  32. Профилирование с Pandas
  33. Определение функций с необязательными аргументами
  34. Форматирование строк с помощью f-строк
  35. Декораторы в Python
  36. Удаление ключа из словаря в Python
  37. Работа с контекстными переменными
  38. Класс Counter() для подсчета элементов
  39. Создание OrderedDict
  40. Magic Commands — улучшение работы с Python
  41. Сохранение и загрузка модели в PyTorch
  42. Метод rmatmul для пользовательских матриц
  43. Курсы Яндекс Практикум
  44. Выход из профиля в Django
  45. Хранение данных с помощью dataclasses
  46. Открытие, чтение и закрытие файла
  47. globals и locals

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