我对这个很陌生,如果我做错了,很抱歉
我正在尝试创建一个帐户/登录系统,并使用两个单独的.txt文件来存储用户名和密码
创建用户名时,密码将添加到另一个文件的相应行中。一旦我验证了用户名是正确的,我就会尝试找出用户名在我的文件中的哪一行,这样我就可以找到该用户名的正确密码
有人能帮我找到用户名所在的行,并用它来检查密码是否是该特定用户名的正确密码吗
username = input("Please enter your username: ")
with open("usernames.txt", "r") as loginfile:
if (username + "\n") in loginfile.readlines():
password = input("Please enter your password: ")
with open("passwords.txt", "r") as loginfile:
if (password + "\n") in loginfile.readlines():
print("Welcome!")
这完全可以,但是如果我使用它,那么有人可以输入正确的用户名和密码,但是密码不是链接到该用户名的密码,即使它是正确的密码
这很难描述,但我希望这是有意义的
如果可以,请帮助
你需要得到行号。您可以使用列表的
index
方法来查找匹配的项。(如果它们都不匹配,这将引发ValueError
。)然后您可以在感兴趣的行号上索引密码列表(带换行符)请注意,在现实中,即使用户名不存在,您可能仍希望提示输入密码,因此登录没有成功的机会,因为否则您会向尝试暴力攻击(猜测用户名和密码)的人泄露太多信息使他们能够知道他们正在尝试的用户名是否有效。这可以通过将
password = input(...)
行移动到if
块之前轻松实现相关问题 更多 >
编程相关推荐