首页 > 后端开发 > Python教程 > 日间编码之旅)

日间编码之旅)

Patricia Arquette
发布: 2025-01-08 07:05:41
原创
923 人浏览过

DAY CODING JOURNEY)

继续我的编码之旅(第一天仍然没有写下来,也许永远!),我正在处理实时用户验证程序以阻止未经授权的访问。 这是一个看似简单的想法,但请听我说完。

预期功能:

该程序在系统启动时谨慎运行,定期(例如每小时)提示输入密码。 至关重要的是,它保持高优先级,防止关闭或最小化。密码输入错误会导致系统关闭。

<code class="language-python">from tkinter import *
import subprocess
import threading
import time
import getpass # Added for secure password input

window = Tk()
window.title("User Verification")
window.config(background="black")

# Initialize password (should be replaced with a more secure method)
q = getpass.getpass("Set initial password: ")

entry = Entry(window,
              fg='#00FF00',
              bg='black',
              font=('Arial',30),
              show='*') # Mask password input
entry.pack(side=RIGHT)

def verify_user():
    global q
    while True:
        y = entry.get()
        if y != q:
            subprocess.run('shutdown /s', shell=True)
            break  # Exit the loop after shutdown
        else:
            print('Verification successful.')
            # Replace password here (securely!)
            q = getpass.getpass("Set new password: ")
            entry.delete(0, END) # Clear entry field
        time.sleep(3600) # Check every hour

def start_verification():
    verification_thread = threading.Thread(target=verify_user)
    verification_thread.daemon = True # Allow program to exit even if thread is running
    verification_thread.start()

u = Button(window,
           text='Start Verification', # Changed button text
           fg='#00FF00',
           bg='black',
           command=start_verification)
u.pack(side=BOTTOM)


t = Label(window,
          text='Enter Password:', # Simplified label text
          font=('Arial',15),
          fg='#00FF00',
          bg='black')
t.pack(side=LEFT)

window.mainloop()</code>
登录后复制

计划的增强功能:

这是一个初级版本。 未来的改进包括:

  • 动态密码更改:实施一种安全方法,在每次成功验证后更改密码。 当前的 getpass 模块提供了一个开始,但需要更强大的密码管理。
  • 后台线程:代码现在使用守护线程在后台运行验证过程,允许主窗口保持响应(尽管是最低限度的响应)。

免责声明:这是一个基本示例,缺乏强大的安全功能。 使用风险自负。 对于生产级安全性,请使用已建立的身份验证系统。 欢迎提出建议(但不保证一定会得到答复!)。

以上是日间编码之旅)的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板