コーディングの旅を続け(1日目はおそらく永遠に書かれないままです!)、不正アクセスを阻止するためのリアルタイムのユーザー検証プログラムに取り組んでいます。 一見単純なアイデアですが、聞いてください。
対象となる機能:
プログラムはシステムの起動時に慎重に実行され、定期的に (例: 1 時間ごとに) パスワードの入力を求められます。 重要なのは、高い優先度を維持し、閉鎖や最小化を防ぐことです。間違ったパスワードを入力すると、システムがシャットダウンされます。
<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
モジュールは出発点となりますが、より堅牢なパスワード管理が必要です。免責事項: これは基本的な例であり、堅牢なセキュリティ機能がありません。 ご自身の責任でご使用ください。 運用レベルのセキュリティを実現するには、確立された認証システムを使用します。 提案は歓迎します (ただし、返答の保証はありません!)。
以上が1 日のコーディングの旅)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。