Курс 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. Вычисление натурального логарифма в NumPy
  2. Удаление файлов с shutil.os.remove()
  3. Генерация случайных чисел в Python
  4. Реверс строки и списка в Python.
  5. Определение относительного пути
  6. Разделение строки с помощью re.split()
  7. Утечки переменных цикла в Python 3.x
  8. Метод getitem для доступа к элементам последовательности
  9. Бесконечная проверка в Python
  10. Функции с необязательными аргументами
  11. Визуализация пропусков данных
  12. Лямбда-функции в Python
  13. Лямбда-функции в defaultdict
  14. Основы Python
  15. Метод __irshift__ для побитового сдвига вправо
  16. Назначение максимального и минимального значения переменной в Python.
  17. Создание объекта timedelta
  18. Переопределение унарных операторов
  19. Преобразование списка в словарь через генератор
  20. Комментарии в Python
  21. Метод count() для списков
  22. Повторение и перенос строки
  23. Метод ifloordiv для пользовательских классов
  24. Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
  25. Многострочные комментарии в Python
  26. Переопределение метода __or__()
  27. Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
  28. Работа с необработанными строками
  29. Оптимизация параметров в Python
  30. Округление в Python
  31. Функции высшего порядка в Python
  32. Таймер обратного отсчета
  33. Работа со строками в Python
  34. Обработка исключений в Python
  35. Рациональные числа в Python
  36. Оператор умножения для вектора
  37. Библиотека wikipedia для Python
  38. Использование эмодзи в Python
  39. Идентификатор объекта в Python
  40. Ключевое слово global в Python
  41. Измерение потребления памяти при сортировке
  42. Lambda-функция в Python: использование с map() и sum()
  43. Логирование с Logzero
  44. Использование *args

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