Heim > Backend-Entwicklung > Python-Tutorial > TAG CODIERUNG REISE)

TAG CODIERUNG REISE)

Patricia Arquette
Freigeben: 2025-01-08 07:05:41
Original
925 Leute haben es durchsucht

DAY CODING JOURNEY)

Ich setze meine Programmierreise fort (Tag 1 bleibt vielleicht für immer ungeschrieben!) und arbeite an einem Echtzeit-Benutzerverifizierungsprogramm, um unbefugten Zugriff zu verhindern. Es ist eine scheinbar einfache Idee, aber hören Sie mir zu.

Beabsichtigte Funktionalität:

Das Programm läuft diskret beim Systemstart und fordert regelmäßig (z. B. stündlich) zur Eingabe eines Passworts auf. Entscheidend ist, dass die Priorität hoch bleibt und eine Schließung oder Minimierung verhindert wird. Eine falsche Passworteingabe führt zum Herunterfahren des Systems.

<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>
Nach dem Login kopieren

Geplante Verbesserungen:

Dies ist eine rudimentäre Version. Zukünftige Verbesserungen umfassen:

  • Dynamische Passwortänderungen: Implementieren Sie eine sichere Methode zum Ändern des Passworts nach jeder erfolgreichen Überprüfung. Das aktuelle getpass-Modul bietet einen Anfang, es ist jedoch eine robustere Passwortverwaltung erforderlich.
  • Hintergrund-Threading: Der Code verwendet jetzt einen Daemon-Thread, um den Überprüfungsprozess im Hintergrund auszuführen, sodass das Hauptfenster weiterhin reagiert (wenn auch minimal).

Haftungsausschluss: Dies ist ein einfaches Beispiel und es fehlen robuste Sicherheitsfunktionen. Die Nutzung erfolgt auf eigene Gefahr. Verwenden Sie für die Sicherheit auf Produktionsebene etablierte Authentifizierungssysteme. Vorschläge willkommen (aber keine Garantie für Antworten!).

Das obige ist der detaillierte Inhalt vonTAG CODIERUNG REISE). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage