Курс 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"
- Вывод с переменной через запятую
- Метод gt в Python
- Генераторы данных
- Метод difference_update() — разность множеств
- Декораторы в Python
- Магические методы в Python
- Переопределение унарных операторов
- Логирование с Loguru
- Повторение и перенос строки
- Перевод эмодзи и эмотиконов.
- Создание файла с проверкой ошибки
- Генераторы в Python
- Создание GUI на Tkinter
- Работа с датой и временем в Python
- Вложенные циклы в Python
- Вычисление разности множеств в Python
- Фильтрация входных данных в Python
- Просмотр файла в Jupyter Noteboo
- Обратный список чисел
- Атрибуты класса и экземпляра
- Создание GUI с Tkinter: Entry
- Особенности запятых в Python
- Контроль точности вывода чисел
- Работа с датами в Python
- Модуль os: работа с файлами и папками
- Python и Монти Пайтон
- Обработка StopIteration в Python
- Concrete Paths — метод .with_suffix()
- Управление мышью и клавиатурой с Pyautogui
- Метод enumerate() в Python
- Введение в PyTorch
- Преобразование числа в восьмеричную строку
- Получение списка кортежей из словаря
- Оператор in и not in в Python
- Определение функций с необязательными аргументами
- Склеивание строк без циклов
- Декоратор Ajax required
- Измерение времени выполнения кода с использованием time
- Работа с контекстными менеджерами
- Удаление элемента из списка в Python
- Переопределение метода __floordiv__















