Курс 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"
- Вычисление натурального логарифма в NumPy
- Удаление файлов с shutil.os.remove()
- Генерация случайных чисел в Python
- Реверс строки и списка в Python.
- Определение относительного пути
- Разделение строки с помощью re.split()
- Утечки переменных цикла в Python 3.x
- Метод getitem для доступа к элементам последовательности
- Бесконечная проверка в Python
- Функции с необязательными аргументами
- Визуализация пропусков данных
- Лямбда-функции в Python
- Лямбда-функции в defaultdict
- Основы Python
- Метод __irshift__ для побитового сдвига вправо
- Назначение максимального и минимального значения переменной в Python.
- Создание объекта timedelta
- Переопределение унарных операторов
- Преобразование списка в словарь через генератор
- Комментарии в Python
- Метод count() для списков
- Повторение и перенос строки
- Метод ifloordiv для пользовательских классов
- Ноутбуки AMD Ryzen ™ 4000: мощность и эффективность
- Многострочные комментарии в Python
- Переопределение метода __or__()
- Удаление дубликатов с сохранением порядка с помощью dict.fromkeys
- Работа с необработанными строками
- Оптимизация параметров в Python
- Округление в Python
- Функции высшего порядка в Python
- Таймер обратного отсчета
- Работа со строками в Python
- Обработка исключений в Python
- Рациональные числа в Python
- Оператор умножения для вектора
- Библиотека wikipedia для Python
- Использование эмодзи в Python
- Идентификатор объекта в Python
- Ключевое слово global в Python
- Измерение потребления памяти при сортировке
- Lambda-функция в Python: использование с map() и sum()
- Логирование с Logzero
- Использование *args















