此文參考
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 ...