Курс 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. Установка и использование pyshorteners
  3. Создание функций высшего порядка
  4. Вывод переменной и строки в Python
  5. UserList в Python: Описание и примеры использования
  6. Счетчик в Python: most_common()
  7. Модуль os в Python: работа с файлами
  8. Кортежи в Python: особенности и преимущества
  9. Вычисление логарифмов в Python
  10. Операции с матрицами в Python
  11. Создание пустых функций и классов в Python
  12. Python union() функция — объединение множеств
  13. Автоматизация действий с Pyautogui
  14. Особенности ключей словаря в Python
  15. Повторение и перенос строки
  16. Progress с библиотекой tqdm
  17. Работа с файлами в Python
  18. Работа с файловой системой в Python
  19. Конкатенация строк с помощью join()
  20. Генерация UUID в Python
  21. Преобразование чисел в слова
  22. Комплексные числа в Python
  23. Извлечение новостей с помощью newspaper3k
  24. Участие в LP стейкинге Waves
  25. Проверка ввода с помощью isdigit
  26. Метод join для объединения строк
  27. Метод hash в Python
  28. Преобразование в float
  29. Установка и использование pyshorteners
  30. Распаковка аргументов в Python
  31. Метод rmatmul для обратного матричного умножения
  32. Каналы Senior: Python, Java, Frontend, SQL, C++
  33. Генераторы словарей и множеств
  34. Преобразование списка в словарь через генератор
  35. Просмотр файла в Jupyter Noteboo
  36. Форматирование строк в Python
  37. Подсчет часто встречающихся элементов
  38. Преобразование Word в PDF с Spire.Doc
  39. Инверсия списков и строк в Python
  40. Нахождение разницы между списками в Python
  41. Перезагрузка оператора в Python
  42. Импорт объектов из модулей
  43. Кортеж в Python: создание и использование
  44. Циклы в Python
  45. Параллельные вычисления в Python
  46. Магические методы в Python
  47. Блок else в Python

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