Poursuivant mon parcours de codage (le premier jour reste non écrit, peut-être pour toujours !), je m'attaque à un programme de vérification des utilisateurs en temps réel pour dissuader les accès non autorisés. C'est une idée apparemment simple, mais écoutez-moi.
Fonctionnalité prévue :
Le programme s'exécute discrètement au démarrage du système, demandant périodiquement (par exemple toutes les heures) un mot de passe. Surtout, il maintient une priorité élevée, empêchant la fermeture ou la minimisation. Une saisie de mot de passe incorrect entraîne l'arrêt du système.
<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>
Améliorations prévues :
Ceci est une version rudimentaire. Les améliorations futures incluent :
getpass
actuel constitue un début, mais une gestion des mots de passe plus robuste est nécessaire.Avertissement : Ceci est un exemple de base et ne dispose pas de fonctionnalités de sécurité robustes. Utilisez à vos propres risques. Pour une sécurité au niveau de la production, utilisez des systèmes d’authentification établis. Les suggestions sont les bienvenues (mais aucune garantie de réponses !).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!