Курс 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"
- Работа с пакетами
- Пространство имен в Python
- Создание и удаление объектов
- Лямбда-функции в defaultdict
- split() без разделителя
- Генерация QR-кодов с Python
- Генераторы в Python
- Асинхронное выполнение задач в Python
- Однострочники Python
- Логирование в Python
- Ускоренный импорт библиотек
- Декораторы в Python
- Создание новых списков в Python
- Аннотации типов в Python
- Управление контекстом с помощью декоратора contextmanager
- Функции any() и all() в Python
- Извлечение статей с newspaper3k
- Справка по импортированным модулям
- Абстракции словарей и множеств в Python
- Работа с JSON данными в Python
- Модуль Antigravity в Python 3
- Операторы += в Python
- Получение текущей даты и времени с помощью datetime
- Поиск частых элементов в списке
- Объединение списков с помощью zip
- Создание словаря через dict comprehension
- PUT запрос для обновления данных
- Поиск индекса элемента
- Python: динамическая типизация и проверка типов
- Декораторы в Python
- CLI-инструмент howdoi
- Декораторы в Python
- Измерение времени выполнения кода
- Перехват исключений в Python
- Роль object и type в Python
- Генераторы списков
- Форматирование даты с strftime()
- Подсчет элементов с помощью Counter
- Мониторинг работы программы Py-spy
- Изучение объектов с помощью dir()
- Игра «Камень, ножницы, бумага» — Python
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Сравнение объектов в Python
- Функция all() в Python
- Переменные класса и экземпляра
- Список методов и атрибутов















