Курс 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"
- Функция reduce() из модуля functools
- Настройка вывода NumPy
- Генерация строк с .join()
- Создание объекта времени
- Сравнение def и lambda-функций
- Определение объема памяти объекта
- Эффективная конкатенация строк в Python
- Возврат нескольких значений
- Возврат нескольких значений
- Python Enum Weekday Usage
- Возведение в квадрат с помощью itertools
- Использование функции product
- Поиск кода
- Модуль itertools: комбинации и перестановки
- Значения по умолчанию в Python
- Конкатенация строк с методом join()
- Проектирование Singleton с метаклассом
- Генераторы в Python
- Роль object и type в Python
- Метод __float__ в Python
- Извлечение новостей с помощью newspaper3k
- Python reversed() функция
- Мониторинг памяти с Pympler
- Обработка исключений в Python
- Измерение времени выполнения в Python
- Переопределение метода __pow__
- Сложение матриц в NumPy
- Объединение списков в строку
- Создание даты из строки ISO
- Обработка исключений в Python
- Работа с очередями в Python
- Работа с необработанными строками
- Проверка дубликатов в Python
- Основы работы с os
- Форматирование строк в Python
- Операция += для списков
- Работа с изображениями Pillow
- Работа с контекстными переменными
- globals и locals
- Особенности множеств в Python
- Использование эмодзи в Python
- Работа с модулем Calendar
- Работа с итераторами через срезы
- Лямбда-функции в Python
- Генерация ключей RSA
- Использование модуля __future__















