Как я могу проверить, есть ли имя пользователя и пароль в базе данных MySQL, используя Python? - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть html форма входа в систему, которая собирает имя пользователя и пароль пользователя.У меня также есть скрипт, который собирает их и сохраняет их.Мне было интересно, если можно было проверить, если имя пользователя и пароль уже существует в базе данных MySQL перед сохранением в базе данных.

HTML-форма:

<!DOCTYPE html>
<html>
<head>
    <title>login</title>
</head>
<body>
    <form action="login.py" method="GET">
        First name:<br>
        <input type="text" name="user_name"><br>
        Last name:<br>
        <input type="text" name="password"><br>
    </form>
</body>
</html>



Login script





import cgitb
   cgitb.enable()

   import cgi
   form = cgi.FieldStorage()
   user_name = form["user_name"].value
   password = form["password"].value

   import pymysql
   conn = pymysql.connect(db='userdb', 
   user='root', passwd='12346', 
   host='localhost')
   cursor = conn.cursor()

   query= "INSERT INTO users VALUES 
   ('{user_name}',{password})"   
 cursor.execute(query.format(user_name=user- 
    name, password=password))
    conn.commit()

Можно ли проверить, еслиимя пользователя и пароль из html-формы совпадают в базе данных?

1 Ответ

0 голосов
/ 30 ноября 2018

Создайте уникальный или первичный ключ на user_name, и если произойдет дублирование и будет сгенерировано исключение.

Если вы храните пароли в незашифрованном формате, позор вам, er исправьте это,

Если у вас есть пароли в виде хэшей, вы не сможете определить, являются ли они дубликатами (что не так уж и плохо).

...