Back to blog
Tools

File .env: Kesalahan Budi Bikin Password Database Bocor di GitHub

Hanya karena lupa menyembunyikan satu file kecil ini, tagihan server AWS Budi membengkak ratusan juta karena diretas oleh bot GitHub. Wajib tahu!

super admin·19 Juli 2026·2 min read
File .env: Kesalahan Budi Bikin Password Database Bocor di GitHub
Article Content

Bayangin Budi Nge-Push Passwordnya ke Internet...

Bayangin Budi bikin project Node.js. Untuk nyambungin aplikasinya ke *Database MySQL*, Budi nulis langsung password aslinya (Hardcode) di dalam file config.js:
const dbPassword = "KucingGanteng123!";

Hari itu juga, Budi mengetik git add . dan git push ke GitHub (Public Repository) agar proyeknya bisa dipamerkan untuk portofolio CV. Budi tidur nyenyak.

Besok paginya, Budi kaget! Database-nya lenyap dan diganti dengan satu tabel berisi teks tebusan: "Kirimkan 1 Bitcoin ke alamat ini jika data kamu mau kembali!". Ternyata, Siti (seorang Hacker) punya Bot robot yang memindai ribuan kode GitHub setiap detik untuk mencari teks "password". Siti menemukannya, dan masuk ke *database* Budi dengan mudah!

Masalahnya: Kode Berisi Rahasia (Credentials)

Sebagai *developer*, kodemu (logika aplikasi) memang boleh dilihat orang. Tapi Kunci Rahasia (Credentials) seperti Password Database, API Key Stripe/Midtrans, dan Secret Key JWT DILARANG KERAS ikut terbang ke GitHub bersama logika aplikasimu.

Nah, Di Sinilah File '.env' Masuk!

Untuk memisahkan antara Kode dan Kunci Rahasia, industri menggunakan konsep Environment Variables.

  • Budi membuat satu file khusus bernama .env di dalam proyeknya. Di dalam file ini, ia memindahkan semua kata sandinya:
    DB_PASS=KucingGanteng123!
  • Di file kodenya (config.js), Budi mengganti teks asli tadi dengan sebuah pemanggil gaib:
    const dbPassword = process.env.DB_PASS;
  • LANGKAH PALING KRUSIAL: Budi membuka file .gitignore dan mendaftarkan teks .env di dalamnya. Ini akan membuat Git menjadi BUTA dan mengabaikan file .env tersebut!

Saat Budi melakukan git push lagi ke GitHub, yang ter-upload hanyalah file kodenya yang bertuliskan process.env.DB_PASS. Kata sandi aslinya 100% aman dan hanya tersimpan secara fisik di dalam laptop Budi sendiri! Dan ketika di-Deploy ke Vercel/VPS, Budi tinggal mengetik ulang password itu di layar pengaturan Server Cloud-nya.

Mau langsung pakai template?

Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.

Browse Templates