Курс 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"
- Измерение времени выполнения кода
- Объединение строк с помощью метода join
- Обработка ошибок в Python
- Инициализация структур данных
- Работа с Requests для HTTP-запросов
- Построение графиков в терминале с bashplotlib
- Декоратор проверки активности
- Работа с многоуровневыми словарями в Python
- Извлечение статей с newspaper3k
- Загрузка постов Instagram
- Метод ifloordiv для пользовательских классов
- Правила именования переменных
- Оператор Walrus: правильное использование
- Генераторы в Python
- Измерение времени выполнения кода
- Метод index() в Python
- Работа с YAML в Python
- Работа с переменными в Python
- Разбиение строки в Python
- Преобразование символов с помощью map
- Подсчет элементов в списке с Counter
- Удаление эмодзи с помощью pandas
- Перетасовка списков в Python
- Настройка шрифта и цвета в Tkinter
- Блок else в циклах.
- Модуль xkcd: загрузка комиксов
- Цепные операции в Python
- Хранение переменных в Python.
- Вызов внешних программ в Python с помощью sh
- Проверка надежности пароля на Python
- Установка и использование Telegram API в Python
- Оптимизация памяти с __slots__
- Списки в Python: синтаксис представления
- Генерация UUID в Python
- Транспонирование матрицы в Python
- Мощь вложенных функций в Python
- Циклы в Python
- Создание коллекций из выражения-генератора
- Разработка игры Pong с turtle
- Метод is_absolute() для PurePath
- Объединение, распаковка и деструктуризация
- Создание новых списков через list comprehensions
- Создание словарей и множеств в Python.
- Работа с JSON данными в Python
- Генерация QR-кодов с Python
- Изменение списка срезами















