python - 如何使用 Python 检查用户和密码是否已在 MySQL 数据库中?

标签 python mysql scripting pymysql

我有一个 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 表单中的用户名和密码在数据库中是否匹配?

最佳答案

user_name 上创建唯一或主键,如果发生重复,将抛出异常。

如果您以未散列格式存储密码,您真可耻,呃 fix it ,

如果您的密码是哈希值,您将无法判断它们是否重复(这不是坏事)。

关于python - 如何使用 Python 检查用户和密码是否已在 MySQL 数据库中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53550369/

相关文章:

python - 从 HTML 到 Python 文件调用函数

python - Coverage.py Python 模块 - 运行脚本时导入错误

php更新mysql循环数据

mysql - Mysql安全安装所需信息

scripting - 使用 .NetCore RC2 自动化 Nuget 包推送

linux - 在文件过滤方面需要帮助

linux - 循环 bash 脚本

python - Pycharm:在Python控制台中运行和运行之间的行为不同?

python - Pandas - 读取 .csv 文件的结尾

php - 使用具有多个 WHERE 条件的准备语句更新查询