2016-07-07 11 views
3

PythonスクリプトをGitにプッシュする必要があります。スクリプトには、USER_NAME = "some_name"USER_PASS = "some_password"のような個人データを含む変数が含まれています。このデータは他のユーザーがアクセスできる可能性があります。このデータを非表示にしたいPythonスクリプトで個人情報を非表示にする方法

私は次のようなアプローチが見つかりました:変数は

のようにアクセスする必要があります:

  • はそれが一度data.pyc
  • 変更メインスクリプトソース版 - コンパイル生成することUSER_NAME = "some_name"USER_PASS = "some_password"

  • インポートして、別data.pyモジュールを作成します

    import data

    username = data.USER_NAME

    password = data.USER_PASS

  • data.pyを削除し、

これは有望だったレポするdata.pycを押して、実際data.pycのデータは???some_namet???some_passwords???のように表示され、まだユーザー名とパスワードとして認識することができます。

Pythonスクリプトでデータを非表示にするベストプラクティスは何ですか?

+0

他のユーザーとはどういう意味ですか?あなたは、スクリプトを実行している人またはスクリプトを作成する人について話していますか? – Jeremy

+0

はい、 'Git'プロジェクトにアクセスし、このスクリプトを使って作業する人 – Andersson

答えて

2

これらのものを環境変数から読み取るには、git repoコードをインクルードします。ターゲットマシンで、これらの環境変数を設定します。これは、手動で、またはあなたのレポに含まれていないスクリプトで行うことができます。 readmeファイルに指示を含めてください

1

hereのように、YAMLファイルをレポにプッシュしないでください。 Pythonモジュールyamlを使用してデータを読み取ることができます。

+1

YAMLを使って、deserializeと安全性を避けるために' safe_load'を使用してください。 – o11c

1

重要な情報をコードに入れないでください。決してパブリックリポジトリに格納しないでください。

Joel Goldstickの提案に従い、コードを変更して私的なソースからパスワードを取得する方が良いです。ローカル環境変数またはローカルモジュール。

「python store sensitive information」のグーグルでいくつかのアイデア(および関連する問題)を調べてみてください。

関連する問題