1 日のコーディングの旅)

Patricia Arquette
リリース: 2025-01-08 07:05:41
オリジナル
916 人が閲覧しました

DAY CODING JOURNEY)

コーディングの旅を続け(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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート