Курс 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. Метод join() для объединения элементов строки
  2. Создание Telegram-бота на Python
  3. Извлечение статей с newspaper3k
  4. Логические значения в Python
  5. Очистка данных с помощью pandas
  6. Измерение потребления памяти при сортировке
  7. Метод count() для списка
  8. Работа с процессами в Python
  9. Создание словарей с defaultdict()
  10. Сортировка в Python
  11. Python Translator: создание локальных переводчиков
  12. Работа с множествами в Python
  13. Разработка игры Pong с turtle
  14. Генераторы списков в Python
  15. Создание словаря в Python
  16. Работа со строками в Python
  17. Удаление символов новой строки в Python.
  18. Повторение элементов в Python
  19. Преобразование range в итератор
  20. Операции с кортежами
  21. Форматирование данных с pprint
  22. Метод join для объединения строк
  23. Работа с CSV файлами в Python
  24. Декоратор для группы пользователей в Django
  25. Подсчет элементов в Python
  26. Python и Монти Пайтон
  27. Установка User-Agent в Python
  28. Измерение времени выполнения с помощью time
  29. Методы list в Python
  30. Печать календаря в Python
  31. Оператор умножения для вектора
  32. Вывод переменной и строки в Python
  33. Метод __irshift__ для побитового сдвига вправо
  34. JMESPath в Python
  35. Генераторы в Python
  36. Возврат нескольких значений
  37. Создание и обучение модели с Keras
  38. Управление памятью в numpy.
  39. Фильтрация элементов с помощью islice
  40. Конструктор в Python
  41. Класс-оболочка для словарей
  42. Модуль math: основные функции

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