9

Django プロジェクトを開始したばかりsettings.pyで、プロジェクトのファイルでは、データベース セクションは次のようになっています。

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
        'NAME': 'blogengine',                 # Or path to database file if using sqlite3.
        # The following settings are not used with sqlite3:
        'USER': 'blogadmin',
        'PASSWORD': 'blog@123',
        'HOST': 'localhost',                 # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
        'PORT': '3306',                      # Set to empty string for default.
    }
}

パスワードをプレーンテキストとして入力する必要がなく、暗号化された形式で入力する方法はありますか?

4

2 に答える 2

10

そのパスワードを保護しようとしても意味がありません。

データベースへのアクセスに使用できるそのファイル内のトークンは、他のユーザーがデータベースにアクセスするために使用できますこれが共有シークレット セキュリティのしくみです。パスワードをランダムに生成されたトークンに置き換えても、そのトークンをsettings.pyたとえば に通信する必要があります。

そのユーザー名とパスワードを使用して MySQL データベースに接続できるコンピューターを制限し、セキュリティのレイヤーを追加することをお勧めします。settings.pyああ、ウェブサーバーとソース管理システムを適切に保護して、誰もアクセスできないようにします。

于 2013-08-18T13:01:21.347 に答える