Курс 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
- Работа с файлами в Python
- Настройка шрифта и цвета в Tkinter
- Функция reduce() в Python
- Создание таблиц в терминале с PrettyTable
- Генерация случайных данных в NumPy
- Оценка выражений генератора в Python
- Python enumerate() использование
- Подсчет элементов в Python
- Модуль xkcd: добавление юмора в Python
- Логирование с Logzero
- Создание итератора
- Получение значений из словарей
- Работа со строками в Python
- Удаление элементов во время итерации
- Метод get для словарей
- Операции с массивами в NumPy
- Операторы сравнения в Python
- Метод Self в Python
- Функция product() в Python
- Создание веб-приложения с Flask
- Метод округления чисел
- ROT13 Шифр Цезаря в Python
- Работа с библиотекой xkcd
- Возвращение нескольких значений через кортеж или класс
- Многоточие в Python
- Метод __getitem__ в Python
- Сортировка HTML-элементов
- Работа с NumPy массивами
- Регулярные выражения в Python
- Конвертация изображений в PDF
- Профилирование с Pandas
- Определение функций с необязательными аргументами
- Форматирование строк с помощью f-строк
- Декораторы в Python
- Удаление ключа из словаря в Python
- Работа с контекстными переменными
- Класс Counter() для подсчета элементов
- Создание OrderedDict
- Magic Commands — улучшение работы с Python
- Сохранение и загрузка модели в PyTorch
- Метод rmatmul для пользовательских матриц
- Курсы Яндекс Практикум
- Выход из профиля в Django
- Хранение данных с помощью dataclasses
- Открытие, чтение и закрытие файла
- globals и locals















