Курс 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"
- Логирование с Loguru
- Извлечение данных из JSON
- Функция count() в Python
- Измерение времени выполнения кода
- Импортирование в Python
- Наследование в программировании
- Применение функции map() в Python
- Объединение списков в строку
- None в Python: использование и особенности
- Избегание изменяемых аргументов
- Преобразование текста в речь с Python
- Библиотека itertools: объединение списков
- Операции с комплексными числами
- Установка виртуального окружения Python
- Работа с *args и **kwargs в Python
- Загрузка постов Instagram
- Методы split() и join() — Python строк.
- Работа с рекламными данными в Pandas
- Метод ifloordiv для пользовательских классов
- Метод splitlines() для разделения строк
- Создание объекта времени
- Обновление и получение данных в SQLite
- Объединение коллекций в Python
- Конвертация коллекций в Python
- Перезагрузка оператора в Python
- Форматирование заголовков в Python
- Метод join() для объединения элементов
- Monkey Patching в Python
- Поиск частых элементов в списке
- Метод rmatmul для пользовательских матриц
- Работа с срезами в Python
- Метод count() для списка
- Основы слова
- Работа с итераторами в Python
- Очистка данных с помощью pandas
- Методы __repr__ и __str__ в Python
- Установка библиотек в Python
- Ключевое слово global в Python
- Создание новых списков в Python
- Оператор in для Python
- inspect в Python: анализ кода
- discard() — удаление элемента из множества
- Обмен переменными в Jupyter
- Настройка Cron
- Комментарии в Python
- Новшества Flask 2.0















