Курс 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 с Itertools
- Основные функции и модули Python
- Работа с кортежами в Python
- Профилирование кода
- Форматирование строк в Python
- Функции range() в Python
- Работа с срезами в Python
- Работа с функцией next() в Python
- Список и кортеж в Python
- Оболочка Python
- Описание скриптов в README
- Mad Libs Generator
- Удаление специальных символов
- Обход элементов в Python
- Обновление шаблона base.html
- Извлечение аудио из видео
- Создание вложенных циклов for
- Проверка ввода с помощью isdigit
- Работа с множествами в Python
- Возврат нескольких значений
- Оператор Walrus в Python 3.8
- Копирование списков в Python
- Инверсия списков и строк в Python
- Управление памятью в Python
- Генератор списка в Python
- Заказ карты Тинькофф Black
- Дефолтные параметры в Python
- Работа с пользовательским вводом
- Решение переменной Шредингера
- Область видимости переменных
- Создание и использование ChainMap
- Фильтрация входных данных в Python
- Преобразование списков в словарь
- Измерение времени выполнения
- Комментарии в Python
- Функция divmod() в Python
- Переворот последовательности
- Декоратор защиты анонимных пользователей
- Копирование объектов в Python
- Переопределение метода len
- Классы данных в Python
- Работа со стеком в Python
- Поиск email
- Метод rmatmul для пользовательских матриц















