Python构建高效安全的OTP验证系统!( 三 )

定义一个方法start_countdown() 。如果剩余时间小于等于0 , 重置账户 。否则显示程序已锁住账户,并在剩余时间内使用回调再试一次 。
 
def start_countdown(self, remaining_time): if remaining_time <= 0: self.reset_account() return minutes = int(remaining_time // 60) seconds = int(remaining_time % 60) timer_label = f'Account Locked. Try again in: {minutes:02d}:{seconds:02d}' self.timer_label.config(text=timer_label) self.master.after(1000, self.start_countdown, remaining_time - 1)定义一个函数reset_account() 。像前面一样重置所有小组件和变量的状态 。
 
def reset_account(self): self.locked = False self.wrong_attempts = 0 self.label1.config(text='Enter your mobile number:') self.mobile_number_entry.config(state=tk.NORMAL) self.send_otp_button.config(state=tk.NORMAL) self.timer_label.config(text='') self.resend_otp_button.config(state=tk.DISABLED) self.label2.config(text='Enter OTP sent to your mobile:') self.otp_entry.config(state=tk.NORMAL) self.verify_otp_button.config(state=tk.NORMAL) self.stop_timer = False创建根窗口和类的实例,并运行Tkinter应用程序 。
if __name__ == '__main__': root = tk.Tk() otp_verification = OTPVerification(root) root.mainloop()使用OTP验证的输出示例在运行OTP验证程序时 , 您会看到一个窗口,要求输入手机号码 。输入手机号码以及所在国家代号 , 然后点击“发送OTP”按钮 。您会收到一条消息,表明程序已成功发送OTP,按钮会停用两分钟 。检查手机是否收到了OTP,并在过期前输入它 。

Python构建高效安全的OTP验证系统!

文章插图
在计时器过期前输入正确的OTP后,您将收到一条消息,表明程序已成功验证了OTP,退出程序 。如果您没有及时输入,会收到消息框,表明OTP已过期 。可以点击“重新发送OTP”按钮以生成新的OTP,并发送到您的手机 。
Python构建高效安全的OTP验证系统!

文章插图
如果您输错了OTP,程序将显示一个消息框,表明“OTP不匹配” 。
Python构建高效安全的OTP验证系统!

文章插图
如果OTP输错三次,所有字段将被禁用,账户将被锁住十分钟 。
Python构建高效安全的OTP验证系统!

文章插图
结合使用Twilio与Python使用Twilio,您可以为各种事件构建短信通知系统 。您可以将其与物联网设备一起使用 , 当设备的数值高于或低于某个阈值或者检测到入侵者时发送短信 。您还可以构建具有双因素身份验证的安全登录系统,构建WhatsApp聊天机器人和约会提醒系统 。
除此之外,您还可以用它进行电话号码验证、营销活动、发送调查表和收集反馈 。在构建任何应用程序时,始终留意Twilio API的定价,以免遭遇意外成本 。
原文标题:How to Build an OTP Verification System Using Python,作者:Sai Ashish Konchada




推荐阅读