我是新手。
我正在编写一个cgi python3脚本,该脚本将允许用户登录到网页并查看数据库信息。用户的用户名和密码也存储在此数据库中。
如果输入的密码与数据库中用户名的密码不匹配,我当前的脚本将成功退出该脚本,但是如果用户名不存在,则不会退出。 (第[1]行包含用户名,第[2]行包含密码)
为什么脚本会检查密码是否匹配,但用户名不匹配?我要使用什么命令脚本来检查用户名是否匹配?
#!/usr/bin/python3
import cgi
import cgitb
cgitb.enable()
# HTML Content - BEGIN
print("<h1>User Login</h1>")
data = cgi.FieldStorage()
username= data['username'].value
password= data['password'].value
#prints form data submission
print("username= " + username)
print(" password= " + password)
#Import Database
import sqlite3
conn = sqlite3.connect('/directory/path/database.db')
c = conn.cursor()
# ***WORK IN PROGRESS***
for row in c.execute(f"SELECT * FROM Table WHERE username = '{username}'"):
if row[1] != username:
print("ERROR! No Username!")
sys.exit()
if row[2] != password:
print("ERROR! Wrong password!")
sys.exit()
#***WORK IN PROGRESS***
#Display personal information
print ("<h1>personal information</h1>")
#HTML CONTENT - END
谢谢。