Rumah >pembangunan bahagian belakang >Tutorial Python >Alihkan rahsia berkod keras kepada Pengurus Rahsia
Pengurus rahsia ialah alat untuk menyimpan dan mengurus kata laluan anda, kunci API, bukti kelayakan pangkalan data dan jenis data sensitif lain yang diperlukan oleh aplikasi anda.
Rahsia berkod keras dalam kod sumber aplikasi atau disimpan dalam fail teks biasa untuk digunakan oleh kod anda boleh dieksploitasi oleh entiti berniat jahat yang boleh memeriksa aplikasi atau komponen dalam sistem anda. Risiko ini boleh dikurangkan dengan pengurus rahsia.
dotenv-vault ialah salah satu pengurus rahsia yang menyediakan alternatif yang lebih selamat untuk meletakkan rahsia anda dalam kod.
[!Nota]
Ini bukan tutorial menggunakan dotenv-vault. Matlamat dokumen ini adalah untuk menerangkan cara pengurus rahsia boleh membantu pembangun mengelakkan rahsia pengekodan keras atau menyimpannya dalam fail teks biasa. Anda boleh belajar cara untuk bermula dengan dotenv-vault di sini.
Katakanlah saya mempunyai maklumat sensitif tentang watak tertentu dalam filem Star Wars: Episod V dan saya mahu program saya menggunakan maklumat itu.
def spoiler(): spoiler = "Darth Vader is Luke Skywalker's father" return { "spoiler": spoiler }
Daripada pengekodan keras maklumat, saya akan menulisnya sebagai pembolehubah persekitaran dalam fail .env:
SPOILER="Darth Vader is Luke Skywalker's father"
Dengan dotenv-vault, program saya dapat mengakses maklumat sensitif dengan menggunakan pembolehubah persekitaran.
import os from dotenv_vault import load_dotenv load_dotenv() # Take environment variables from .env def spoiler(): spoiler = os.getenv("SPOILER") # Get the secret return { "spoiler": spoiler }
Kemudian saya menyulitkan pembolehubah persekitaran dengan menyegerakkan fail .env. Setelah penyegerakan selesai, data yang dikenali sebagai DOTENV_KEY boleh dijana. Output ini boleh dibaca oleh program saya sebagai pembolehubah persekitaran dalam pengeluaran.
DOTENV_KEY='dotenv://:key_1234@dotenv.org/vault/.env.vault?environment=production' python main.py
Hasilnya, aplikasi pengeluaran saya dapat mengakses rahsia.
{ "spoiler": "Darth Vader is Luke Skywalker's father" }
Terdapat pelbagai penyelesaian pengurusan rahsia tersedia. Setiap pengurus rahsia datang dengan set kebaikan dan keburukannya sendiri. Pilih pilihan yang paling sesuai dengan keperluan organisasi anda.
Senarai Pengurus Rahsia alternatif:
Atas ialah kandungan terperinci Alihkan rahsia berkod keras kepada Pengurus Rahsia. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!