4 года назад
Экранирование о котором вы могли не знать. Порядок выполнения действий
Экранирование Первая часть этой статьи будет посвящена экранированию. Возьмем для примера UPDATE xml в базе данных. У нас имеется таблица TABLE, в которой есть колонки ID и XMLTEXT и нам надо обновить текст xml. Выглядит она вот так: <?xml version=’1.0’ encoding=’UTF-8’?> <a> <\a> Суть xml нам не интересна, нам важны кавычки. Как вы знаете из предыдущих наших статей, UPDATE пишется следующим образом: UPDATE TABLE SET XMLTEXT = ‘<?xml version=’1.0’ encoding=’UTF-8’?> <a> <\a>’ WHERE ID = 1 Но тут возникает проблема, ведь строка заканчивается здесь: ‘<?xml version=’ т...
3 месяца назад
SQL-инъекции: что это и как защититься?
SQL-инъекция происходит, когда пользовательский ввод напрямую вставляется в SQL-запрос без соответствующей фильтрации или экранирования. Злоумышленник может передать вредоносный SQL-код, который изменит поведение запроса. Допустим, у нас есть веб-форма для входа в систему: username = input("Введите имя пользователя: ") password = input("Введите пароль: ") query = f"SELECT * FROM users WHERE username = '{username}' AND password = '{password}'" Если пользователь введёт: ' OR '1'='1 Запрос примет...