Курс 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. Вывод баннеров
  3. Управление браузером с Selenium
  4. Рекурсия для обращения строки
  5. Генератор надежных паролей
  6. Поиск индексов в списке
  7. Возврат нескольких значений
  8. Использование type hints
  9. Функция findall() для поиска вхождений строки
  10. Счетчик в Python: most_common()
  11. Оператор морж в Python 3.8
  12. Работа с файлами в Python
  13. Декоратор total_ordering для сравнения объектов
  14. Ключевое слово global в Python
  15. Отладка в Python
  16. Объединение списков с помощью zip
  17. Работа с коллекциями Python
  18. Переопределение унарных операторов
  19. Функция zip() — объединение последовательностей
  20. Удаление элемента по индексу в Python
  21. Работа с утверждениями в Python
  22. Создание копии списка в Python
  23. Установка пакета в Python
  24. Генератор данных в Keras
  25. Создание обратного итератора
  26. Отправка POST запроса на сервер.
  27. Добавление элемента в список.
  28. Метод __complex__ в Python
  29. Многострочные комментарии в Python
  30. Измерение потребления памяти при сортировке
  31. Метод join() для объединения строк
  32. Установка и использование howdoi
  33. Шаблоны Flask: условия и циклы
  34. Оформление кода по PEP 8
  35. Инверсия списка/строки в Python
  36. Замыкания в Python
  37. Работа с модулем random
  38. Оператор (*) в Python
  39. Проверка подстроки в строке с помощью in
  40. Раздувающийся словарь в Python
  41. Работа с enumerate()
  42. Функции map() и reduce() в Python
  43. Создание класса очереди
  44. None в Python: использование и особенности
  45. Python groupby() из itertools: работа с повторяющимися элементами

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