私は python/django を始めてわずか 1 年です。django サイトの展開は、サイトを手動で展開することに成功しましたが、まだ多くの質問があるテーマです。展開に関する私の最大の質問の 1 つは、自分のアプリのソース コード (django の setting.py のパスワードを含む) を他のユーザーから保護するためにどのような手段を講じることができるかということです。偏執症と呼んでください。しかし、私のソース コードがサードパーティ サーバー上で実行されており、誰かがサーバー上のあらゆる場所にアクセスする権限を持っているという事実は、私を不安にさせます。
4 に答える
ソース コードはおそらく問題ありませんが、コード ファイルがコンパイルされているかどうかに関係なく、構成パスワードをプレーンテキストで保存しないことをお勧めします。むしろ、サーバー上に適切なパスワードのハッシュを用意し、ログイン中に送信されたパスワードのハッシュをサーバーに生成させ、代わりにそれらを比較します。標準的なセキュリティ プラクティス。
それから、まだ Django のことをいじっていないので、自分のリアエンドについて話しているだけかもしれません。
あなたsomeone has the privileges to access anything/anywhere on the server
にできることは他の人にもできるので、あまりできない場合は、難読化の方法を試すことができますが、それはうまくいきません。唯一の解決策は、そのような共有リポジトリを使用しないことです。
編集:オプション
- データの機密性が高くない場合は、共有リポジトリで作業を続けてください
- ラックスペースなどの企業の専用ホスティングを使用する
- AWS を使用して独自のインスタンスを実行する
- google-app-engine サーバーを使用しますが、DB の変更が必要になる場合があります
- 独自のサーバーを実行する (最も安全)
ホスティング プロバイダーがソース コードに関心を持つシナリオはほとんどありません。ほとんどの Web サイトのソース コードは、あまり価値がありません。
ソース コードを保護する必要があると本当に感じている場合は、物理的に所有および制御し、排他的にアクセスできるシステムからソース コードを提供することをお勧めします。
それができない場合は、Python を難読化するためのテクニックがいくつかあります。その中で最も簡単なのは、.py ファイルではなく .pyc ファイルのみを本番サーバーにプッシュすることです。ただし、これは Django の標準的な方法ではありません。ホスティング プロバイダーによる Web サイトのソース コードの盗難は、実際には現存する問題ではないからです。この手法が特に Django で機能するかどうかはわかりません。
ソースコードを保護することはそれほど重要ではありません。コンパイルされたファイルをデプロイするだけで、あまり心配する必要はありません。
設定 (特にパスワード) を保護することは確かに重要です。テミアの指摘はいい。