Здравствуйте. Пишу маленькое приложение, в которой будет авторизация. Логика авторизации проста, видно из кода:
import sqlite3
"""
0 - пароль и логин не совпадают
1 - admin
2 - user
"""
conn = sqlite3.connect('manager.db')
c = conn.cursor()
x = c.execute('''SELECT name FROM users
WHERE login =?''', (a,))
y = c.execute('''SELECT name FROM users
WHERE pas =?''', (b,))
if x == y:
c = c.execute('''SELECT role FROM users
WHERE login =?''', (a,))
c = str(c.fetchall())
if c == "[('admin',)]":
print(1)
else:
print(2)
else:
print(0)
И вот в чем проблема - предположим, что пароль у некоторого пользователя - qwerty. Если мы введем qwer, то наш запрос пройдет положительно, и пользователь войдет в систему. Можно ли это как-то исправить?