Курс 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. Оператор «not» в Python
  3. Вычисление натурального логарифма в NumPy
  4. Установка библиотек в Python
  5. Импорт и использование модулей в Python
  6. Сортировка элементов с OrderedDict
  7. Работа с прокси в Python
  8. Подписка на каналы разработчиков
  9. Объединение словарей в Python 3.5+
  10. Участие в LP стейкинге Waves
  11. Python Аргументы по умолчанию
  12. Декоратор для группы пользователей в Django
  13. Оболочка Python
  14. Генерация случайных чисел Python
  15. Конкатенация строк в Python
  16. Обрезка изображения с Pillow
  17. Удаление файлов и папок в Python
  18. Сохранение и загрузка модели в PyTorch
  19. Управление контекстом выполнения кода
  20. Работа с IP-адресами в Python
  21. Оператор «моржа» (Walrus Operator)
  22. Измерение времени выполнения кода
  23. Многопоточность и асинхронное программирование в Python
  24. Отслеживание выполнения программы с библиотекой tqdm
  25. Функция pow() — возвести число в степень
  26. Извлечение аудио из видео
  27. Mad Libs Generator
  28. Бинарный поиск
  29. Добавление элемента к кортежу
  30. Работа с collections в Python.
  31. Добавление вложенных списков
  32. PATCH-запрос с библиотекой requests
  33. Функция eval() в Python
  34. Блок else в Python
  35. Анонимные функции в Python
  36. Методы работы со строками в Python
  37. Оператор is в Python
  38. Подсчет вхождений элементов
  39. Метод pop() списка
  40. Преобразование строки в число
  41. Счетчик ссылок в Python
  42. Генераторы списков
  43. Отладка регулярных выражений в Python
  44. Сортировка и разворот списка
  45. Создание спинбокса в tkinter
  46. Шаблоны Flask: условия и циклы
  47. Обход дочерних элементов BeautifulSoup

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