Курс 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"
- Метод get() в Python
- Управление экспортом элементов
- Модуль antigravity: генерация координат
- Библиотека Emoji: использование смайлов в Python
- Объединение кортежей в Python
- Операторы увеличения и уменьшения переменной
- Профилирование с cProfile
- Метод join() для объединения элементов в строку.
- Создание новых списков в Python
- Структуры данных в Python
- Обновление и получение данных в SQLite
- Работа с временем в Python
- Проблемы с dict в Python
- Логирование в Python
- Работа с CSV файлами в Python
- Поиск простых чисел
- Работа с изображениями Pillow
- Атрибуты класса и экземпляра
- Метод lt для сортировки объектов
- Проверка подстроки в строке
- Библиотека sh: использование команд bash в Python
- Тернарный оператор в Python
- Создание новых списков
- Улучшение читаемости кода в Python
- Закрытие файла в Python
- Оператор del в Python
- Работа с датой и временем в Python
- Цепные операции в Python
- globals и locals
- Регистрация на хакатоне
- split() без разделителя
- Работа с f-строками 2.0
- Codecademy в Telegram
- Извлечение аудио из видео
- Блок try-except-else
- Работа с аргументами командной строки
- Создание графиков в терминале
- Частичное совпадение ввода
- Удаление элементов из списка
- Хеширование паролей с использованием salt
- Создание вкладок с TKinter
- Перевод текста с Python Translator
- Просмотр внешнего файла в Python
- Преобразование вложенного списка
- Метод __iand__ для пользовательских классов
- Конкатенация строковых литералов
- Комплексные числа в Python
- Счетчик в Python: most_common()
- Перегрузка операторов в Python















