Continuing my coding journey (Day 1 remains unwritten, perhaps forever!), I'm tackling a real-time user verification program to deter unauthorized access. It's a seemingly simple idea, but hear me out.
Intended Functionality:
The program discreetly runs upon system startup, periodically (e.g., hourly) prompting for a password. Crucially, it maintains high priority, preventing closure or minimization. Incorrect password entry results in system shutdown.
<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>
Planned Enhancements:
This is a rudimentary version. Future improvements include:
getpass
module provides a start, but more robust password management is needed.Disclaimer: This is a basic example and lacks robust security features. Use at your own risk. For production-level security, use established authentication systems. Suggestions welcome (but no guarantees of responses!).
The above is the detailed content of DAY CODING JOURNEY). For more information, please follow other related articles on the PHP Chinese website!