Alluc

+6
с 2022

Путешествие по миру IT: Кибербезопасность, Технологии, Инновации и Успех.

4 подписчика
10 подписок

Извините за путаницу. В примере на Python, user_id не является явным пользовательским вводом, так как он передается в функцию как аргумент. Ошибка в этом коде скрыта в том, что он создает SQL-запрос, используя строковую конкатенацию, а не параметризованный запрос.

Чтобы исправить это и избежать потенциальной SQL-инъекции, следует использовать параметризованные запросы. Вот исправленный вариант:

import sqlite3

def get_user_data(user_id):
conn = sqlite3.connect("users.db")
cursor = conn.cursor()
query = "SELECT * FROM users WHERE id = ?"
cursor.execute(query, (user_id,))
user_data = cursor.fetchone()
conn.close()
return user_data

Теперь user_id передается как параметр запроса, и это делает код более безопасным и защищенным от SQL-инъекций.

1

Честно говоря, зависит от тематики, если узкая специальность, нужно метко и прицельно писать статьи

В этом тоже есть доля правды

Абсолютно согласен

Да, это так и есть. Но в нынешней реальности, бизнесу не выгодно играть в долгую и кого-то обучать, к сожалению..

Понятное дело, что если бы все говорили: я ничего не знаю, то и работать было бы некому. Если смотреть со стороны работодателя, если изначально человек говорит одно, а на практике другое теряются деньги не разработчика, а работодателя который его нанял, а если таких не 1,а 2, 3 и каждый раз по кругу. Тут конечно вопрос к тому, кто таких нанимает, но все же... сейчас чуть ли не каждый третий говорит великолепно, а показывает шиш)

К сожалению, в нашей реальности такое не практикуется, в силу того, что образование не успевает идти нога в ногу с нынешними тенденциями, поэтому те, кто выходят с универов, как правило на 2-5 лет позади того, что есть сейчас, в некоторых случаях и на 8-10 лет. Но в целом, вы правы, исключение конечно те студенты, которые идут работать, чтобы себя прокормить в итоге к 5 курсу из них могут выйти уже не плохие мидлы, а может и раньше.

1