Курс 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"
- Многоточие в Python
- Вывод баннеров
- Управление браузером с Selenium
- Рекурсия для обращения строки
- Генератор надежных паролей
- Поиск индексов в списке
- Возврат нескольких значений
- Использование type hints
- Функция findall() для поиска вхождений строки
- Счетчик в Python: most_common()
- Оператор морж в Python 3.8
- Работа с файлами в Python
- Декоратор total_ordering для сравнения объектов
- Ключевое слово global в Python
- Отладка в Python
- Объединение списков с помощью zip
- Работа с коллекциями Python
- Переопределение унарных операторов
- Функция zip() — объединение последовательностей
- Удаление элемента по индексу в Python
- Работа с утверждениями в Python
- Создание копии списка в Python
- Установка пакета в Python
- Генератор данных в Keras
- Создание обратного итератора
- Отправка POST запроса на сервер.
- Добавление элемента в список.
- Метод __complex__ в Python
- Многострочные комментарии в Python
- Измерение потребления памяти при сортировке
- Метод join() для объединения строк
- Установка и использование howdoi
- Шаблоны Flask: условия и циклы
- Оформление кода по PEP 8
- Инверсия списка/строки в Python
- Замыкания в Python
- Работа с модулем random
- Оператор (*) в Python
- Проверка подстроки в строке с помощью in
- Раздувающийся словарь в Python
- Работа с enumerate()
- Функции map() и reduce() в Python
- Создание класса очереди
- None в Python: использование и особенности
- Python groupby() из itertools: работа с повторяющимися элементами















