python 使用者登入與鎖定錯誤賬戶(待優化)

2021-08-02 07:16:24 字數 2310 閱讀 2109

此文參考

root@kali:~/python/atm4# vi logocopy.py

#!/usr/bin/python

# --*-- coding:utf-8 --*--

import sys,os,getpass,tab,time,datetime

defvartime

(): d1 = datetime.datetime(2017,6,1)

d2 = datetime.datetime(2017,6,6)

print (d1 - d2).days#計算兩個日期相差天數

starttime = datetime.datetime.now()

endtime = datetime.datetime.now()

print (endtime - starttime).seconds#計算執行時間的例子,以秒進行顯示

d3 = datetime.datetime.now()

d4 = d3 + datetime.timedelta(hours = 10)

print d4.ctime()#計算當前時間向後10小時的時間

defcurtime

(): date = time.strftime('%y-%m-%d %h:%m:%s',time.localtime())

#print date

os.system('clear')#執行自動清除螢幕資訊

count = 0

date_list =

curtime()

vartime()

print date_list

os.system('clear')#執行自動清除螢幕資訊

count = 0

while count < 3:#只要使用者登入異常不超過3次就不斷迴圈

name = raw_input('請輸入使用者名稱:')

lock_file = open('account_lock.txt','r+')#當使用者輸入使用者名稱後,開啟lock 檔案 以檢查是否此使用者已經lock了

lock_list = lock_file.readlines()#把lock_file檔案內容全部讀取到lock_list列表中

for lock_line in lock_list:#迴圈取lock_line列表檔案內容

lock_line = lock_line.strip('\n')#去掉換行符

if name == lock_line:#如果lock了就直接退出

print

'你輸入的 %s 已經被鎖定!' % name

sys.exit()

user_file = open('account.txt','r')#開啟帳號檔案

user_list = user_file.readlines()#把user_file檔案內容全部讀取到user_list列表中

for user_line in user_list:#迴圈取user_line列表檔案內容

(user,password) = user_line.strip('\n').split()#使用空格分隔,分別獲取帳號和密碼資訊

#print user

#print password

if name == user:

j = 0

while j < 3:#只要使用者密碼異常不超過3次就不斷迴圈

passwd = getpass.getpass('請輸入密碼:')#輸入隱藏密碼

if passwd == password:

print ('歡迎登陸管理系統,使用者%s' % name)

exit()#正常退出

else:

if j != 2:

print ('使用者%s 密碼錯誤,請重新輸入,還有%d次機會' %(name,2-j))

j += 1

else:

lock_file.write(name + '\n')

print

'使用者 %s 達到最大登入次數,將被鎖定並退出' % name

sys.exit()

else:

pass

else:

if count != 2:

print ('使用者 %s 不存在,請重新輸入,還有 %d 次機會' % (name,2 - i))

count += 1

else:

print

'輸入的使用者 不存在,退出'

sys.exit()

lock_file.close()

user_file.close()

使用者登入限制 錯誤後鎖定機制的討論

web開發,使用者登入頁面是必須處理的。這裡的涉及到一些基本的安全問題,明文的使用者名稱被竊取後,第三方使用窮舉法暴力破解密碼,需要應對。當使用者未登入時,token還未獲取,退一步講,即使 奇葩到先設定token或給個cookie來標識client,也不能使用,因為針對這些做的鎖定限制,在使用者關...

8 作業 使用者登入,3次鎖定

輸入使用者名稱 passwd input 輸入密碼 if user username and passwd password print 登入成功!break else print 登入失敗,請重新輸入!count 1 if count 3 print 登入失敗錯誤過多,程式將退出!break 執行...

oracle使用者密碼錯誤導致使用者鎖定

解決方法 使用dba使用者將其解鎖 sql alter user ecology account unlock 使用者已更改。使用者密碼限制設定 檢視failed login attempts屬性 預設輸入錯誤10次使用者即會被鎖定 修改預設次數 sql alter profile default ...