[解決済み】Django の SECRET_KEY を変更した場合の影響について
2022-04-05 18:54:30
質問
私は間違えて、Django プロジェクトの
SECRET_KEY
を公開リポジトリに登録しました。
この鍵は秘密にしておくべきだった ドキュメントによると .
Djangoプロジェクトは稼働しており、アクティブなユーザーもいて、しばらくは動いています。を変更した場合、どのような影響があるでしょうか?
SECRET_KEY
? 既存のユーザー、クッキー、セッションなどは影響を受けるのでしょうか?明らかに、新しい
SECRET_KEY
は、もはや公開された場所に保存されることはありません。
解決するには?
Edit: この回答は django 1.5 に基づいています。
SECRET_KEY
はいろいろなところでたくさん使われているので、まず何が影響を受けているかを指摘し、そのリストを見ながら正確な説明をするようにします。
を使用しているものの一覧です。
SECRET_KEY
直接または間接的に
- JSONオブジェクトの署名
-
暗号化機能
塩漬けhmacsやランダムエンジンに影響を与えるシード用。
- パスワードリセットトークン
- コメントフォームのセキュリティ POST リクエストの偽造から保護するため
- フォームセキュリティ
- メッセージの改ざんを防止する メッセージフレームワークがクッキーを使ってビュー間でメッセージを受け渡しする可能性があるためです。
- セッションデータを保護し、ランダムなセッションキーを作成します。 も改ざんされないようにするためです。
- ほとんどのパスワードハッシャーに対応するランダムソルトを作成します。
- ランダムパスワードの作成 必要であれば
-
を使用する場合、自分自身を作成します。
startproject
- CSRFキーの作成
実際には、ここで紹介した項目の多くが
SECRET_KEY
を通して
django.utils.crypt.get_random_string()
で、これをランダムエンジンのシードに使用します。の値が変わっても影響はありません。
SECRET_KEY
.
価値の変化により直接影響を受けるユーザーエクスペリエンスは
- セッションの場合、データのデコードが壊れます。これは、あらゆるセッションバックエンド(クッキー、データベース、ファイルベース、キャッシュ)に対して有効です。
- すでに送信されたパスワードリセットトークンは機能せず、ユーザーは新しいものを要求する必要があります。
-
コメントフォーム
django.contrib.comments
は、値の変更前に要求され、値の変更後に送信された場合、検証されません。これは非常に些細なことだと思いますが、ユーザーを混乱させるかもしれません。 -
メッセージ (
django.contrib.messages
) は、コメントフォームと同じタイミングではサーバーサイドで検証されません。
アップデイト : 現在、django 1.9.5 で作業していますが、ソースをざっと見たところ、ほとんど同じ答えが返ってきました。後で徹底的に調べるかもしれません。
関連
-
[解決済み] ImportError: 'django.utils' から名前 'six' をインポートできません。
-
[解決済み] Django Programmingのエラーカラムが、マイグレーションを実行しても存在しない。
-
[解決済み] クライアントからデータを受信できませんでした」のデバッグ方法。接続が相手によってリセットされました"
-
[解決済み] Django は RuntimeError で動作を停止します: populate() は reentrant ではありません。
-
[解決済み] 正確な検索のための QuerySet 値は、スライシングを使用して 1 つの結果に制限する必要があります。フィルタ・エラー
-
[解決済み] `SyntaxError: nonlocal 'topics_with_log_tag' のバインディングが見つからない` けど、バインディングはされている
-
[解決済み】DjangoでManyToManyリレーションに複数のオブジェクトを一度に追加する方法は?
-
[解決済み】DjangoのネストされたMetaクラスはどのように機能するのですか?
-
[解決済み】Djangoが'SECRET_KEY'を設定する目的は?
-
[解決済み】reverse()とは何ですか?)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] models.py に追加した後、「NOT NULL 制約が失敗しました。
-
[解決済み】Django: そのようなテーブルがない: django_session
-
[解決済み] NoReverseMatch at /
-
[解決済み] Django における cleaned_data の用途は?
-
django -- django.core.exceptions.AppRegistryNotReady: アプリはまだロードされていません。
-
django.db.utils.OperationalError の解決策です。(2003, "Can't connect to MySQL server") というエラーが発生します。
-
[解決済み] http://127.0.0.1:8000/ には接続できるのに、http://192.168.1.6/ には接続できないのはなぜですか?
-
[解決済み】DjangoでManyToManyリレーションに複数のオブジェクトを一度に追加する方法は?
-
[解決済み】Djangoが'SECRET_KEY'を設定する目的は?
-
[解決済み】Django TemplateDoesNotExist?