Risiko: Menyimpan data sensitif seperti kunci API, kata laluan atau bukti kelayakan pangkalan data secara langsung dalam kod sumber mendedahkannya kepada sesiapa sahaja yang mempunyai akses kepada pangkalan kod, termasuk pelakon yang berniat jahat.
Penjelasan: Jika kod ditolak ke repositori awam atau diakses oleh individu yang tidak dibenarkan, maklumat sensitif boleh diekstrak dan dieksploitasi dengan mudah.
Risiko: Mendedahkan data sensitif melalui titik akhir API yang tidak terjamin dengan betul boleh membenarkan penyerang mendapat akses tanpa kebenaran.
Penjelasan: Titik akhir API yang tidak memerlukan pengesahan atau menggunakan mekanisme pengesahan yang lemah (seperti tiada penyulitan atau token yang mudah diteka) boleh dieksploitasi oleh penyerang untuk mendapatkan akses kepada data pengguna atau sistem hujung belakang.
Risiko: Menyimpan atau menghantar data sensitif tanpa penyulitan yang betul menyebabkannya terdedah kepada pemintasan dan kecurian.
Penjelasan: Tanpa penyulitan, data seperti kata laluan, maklumat pembayaran dan maklumat pengenalan peribadi (PII) boleh dipintas dalam transit (serangan lelaki di tengah) atau dicuri daripada pangkalan data.
Risiko: Jika aplikasi tidak membersihkan input pengguna dengan betul, skrip hasad boleh disuntik ke dalam halaman web, yang membawa kepada tindakan yang tidak dibenarkan diambil bagi pihak pengguna lain.
Penjelasan: XSS membenarkan penyerang menyuntik JavaScript berniat jahat ke dalam aplikasi web, yang boleh mencuri kuki sesi, mengubah hala pengguna ke tapak web berniat jahat atau melakukan tindakan bagi pihak pengguna.
Risiko: Membenarkan input pengguna yang tidak bersih untuk berinteraksi dengan pangkalan data boleh menyebabkan penyerang menyuntik kod SQL berniat jahat ke dalam pertanyaan.
Penjelasan: Suntikan SQL boleh membenarkan penyerang memanipulasi pangkalan data, mendapatkan akses tanpa kebenaran atau mengubah data kritikal, memintas pengesahan atau melaksanakan arahan pada pelayan.
Risiko: Membenarkan pengguna memuat naik fail tanpa mengesahkan kandungan mereka dengan betul boleh memperkenalkan fail berniat jahat yang boleh dilaksanakan pada pelayan.
Penjelasan: Muat naik fail berniat jahat, seperti skrip atau boleh laku, boleh digunakan untuk mendapatkan akses jauh ke pelayan, melaksanakan perintah atau mengeksploitasi kelemahan dalam perisian pelayan.
Risiko: Serangan CSRF memaksa pengguna melakukan tindakan yang tidak diingini pada aplikasi web yang mana ia disahkan.
Penjelasan: Dengan memperdaya pengguna yang disahkan supaya menghantar permintaan kepada aplikasi yang terdedah (selalunya melalui pautan hasad atau skrip terbenam), penyerang boleh menyebabkan tindakan seperti menukar tetapan akaun, membuat pembelian atau memadamkan data.
Risiko: Kelemahan dalam protokol pengesahan atau pengurusan sesi yang tidak betul boleh membenarkan penyerang merampas sesi pengguna atau menyamar sebagai pengguna yang sah.
Penjelasan: Jika sesi tidak diurus dengan selamat, penyerang boleh mencuri atau menggunakan semula token sesi untuk mendapatkan akses tanpa kebenaran, atau jika pengesahan yang lemah (mis., tiada pengesahan berbilang faktor) digunakan, penyerang boleh menyamar sebagai pengguna dengan mudah.
Risiko: Menggunakan perpustakaan atau rangka kerja lapuk yang mempunyai kelemahan yang diketahui boleh menyebabkan aplikasi anda terbuka kepada eksploitasi.
Penjelasan: Penyerang sering menyasarkan aplikasi menggunakan perisian lapuk dengan kelemahan yang diketahui. Kegagalan untuk mengemas kini perpustakaan atau rangka kerja secara kerap boleh membawa kepada pelanggaran keselamatan yang serius.
Risiko: Gagal merekod peristiwa berkaitan keselamatan atau tidak mempunyai sistem pemantauan yang betul boleh menyukarkan untuk mengesan dan bertindak balas terhadap insiden keselamatan.
Penjelasan: Tanpa pengelogan yang mencukupi, adalah mencabar untuk mengenal pasti aktiviti berniat jahat, seperti percubaan akses tanpa kebenaran atau anomali sistem. Kekurangan pemantauan yang betul bermakna anda mungkin terlepas tanda-tanda pelanggaran atau serangan dalam masa nyata, melambatkan tindak balas kepada insiden kritikal.
Menyimpan Maklumat Sensitif: Gunakan fail .env apabila anda perlu menyimpan data sensitif seperti kunci API, bukti kelayakan pangkalan data atau token pengesahan yang tidak sepatutnya didedahkan dalam pangkalan kod. Ini membantu memastikan kunci anda peribadi dan selamat, terutamanya apabila kod anda disimpan dalam sistem kawalan versi seperti Git.
Tetapan Khusus Persekitaran: Jika projek anda perlu dijalankan dalam persekitaran yang berbeza (pembangunan, pementasan, pengeluaran), fail .env membolehkan anda menyimpan nilai yang berbeza untuk setiap persekitaran. Ini memastikan bahawa data sensitif seperti bukti kelayakan pangkalan data pengeluaran atau kunci API hanya tersedia dalam persekitaran pengeluaran dan bukan dalam pembangunan atau ujian.
Penyepaduan Perkhidmatan Pihak Ketiga: Jika anda menyepadukan perkhidmatan pihak ketiga (seperti get laluan pembayaran atau API luaran) yang memerlukan bukti kelayakan, anda harus menyimpan bukti kelayakan tersebut dalam fail .env untuk memastikannya selamat. Atau orang mungkin menyalahgunakannya, menyebabkan caj tambahan pada akaun bank anda jika kunci API memerlukan pembayaran
Perhatikan bahawa anda tidak memerlukan fail .env jika anda tidak mempunyai maklumat sensitif dalam kod anda
Dalam direktori akar projek anda, buat fail .env.
Dalam fail .env, setiap pembolehubah persekitaran hendaklah ditakrifkan pada baris baharu, dengan format KEY=VALUE. Contohnya:
API_KEY=your_api_key_here DB_PASSWORD=your_db_password_here
Dalam ular sawa:
pip install python-dotenv from dotenv import load_dotenv import os In your main script to run the application: load_dotenv() # Load .env file To access the key anywhere: api_key = os.getenv("API_KEY")
Dalam Node.js:
npm install dotenv In your main script to run the application: require('dotenv').config(); To access the key anywhere: const apiKey = process.env.API_KEY;
.env in .gitignore file The .gitignore file prevents the .env file from being versioned in Git, ensuring that sensitive information remains private and that only developers who have access to the local project files can access the .env file.
Kredit Imej Muka Depan
Atas ialah kandungan terperinci Risiko Keselamatan Teratas Tidak Menggunakan Fail .env dalam Projek Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!