Back to blog
Security

.env dan Environment Variable: Kenapa API Key Gak Boleh Nempel di Kode?

Budi commit kodenya ke GitHub lengkap dengan API Key pembayaran di dalamnya. 10 menit kemudian, bot scraper GitHub sudah menemukannya dan saldo gateway ludes.

super admin·01 September 2026·2 min read
.env dan Environment Variable: Kenapa API Key Gak Boleh Nempel di Kode?
Article Content

Bayangin Budi Buru-Buru Push Kode ke GitHub...

Bayangin Budi ngoding fitur pembayaran, lalu langsung menulis begini di file paymentService.js supaya cepat:

const DUITKU_API_KEY = "sk_live_8f92a1...";

Kodenya berjalan lancar. Karena keburu deadline, Budi langsung git add ., git commit, dan git push ke repository GitHub publik miliknya. Sepuluh menit kemudian, saldo di dashboard Payment Gateway Budi ludes tak bersisa, dipakai orang tak dikenal untuk transaksi mencurigakan!

Masalahnya: Git Mengingat SEGALANYA, Selamanya

GitHub dipantau ribuan bot scraper otomatis yang bertugas mencari pola teks seperti sk_live_ atau AKIA di setiap commit publik, sedetik setelah kode itu di-push. Yang lebih parah: menghapus baris itu di commit berikutnya TIDAK MENGHAPUS jejaknya. Git menyimpan seluruh riwayat perubahan selamanya — siapa pun tinggal membuka git log untuk melihat kembali API Key yang "sudah dihapus" itu di commit lama.

Nah, Di Sinilah 'Environment Variable' Masuk!

Aturan emasnya: Kode boleh publik, tapi rahasia tidak boleh ikut ke dalam kode. Caranya, semua data sensitif dipisahkan ke sebuah file bernama .env yang hidup terpisah di komputer/server masing-masing, dan secara sengaja didaftarkan ke .gitignore supaya Git tidak pernah melacaknya sama sekali.

# File .env (TIDAK ikut ter-commit)
DUITKU_API_KEY=sk_live_8f92a1...
DATABASE_URL=postgresql://user:pass@host/db

Di dalam kode, Budi cukup memanggil nilainya lewat process.env, bukan menuliskan nilai aslinya secara langsung:

import "dotenv/config";
const DUITKU_API_KEY = process.env.DUITKU_API_KEY;

Saat aplikasi di-deploy ke server produksi, nilai rahasia ini dimasukkan secara terpisah lewat panel hosting atau secret manager (bukan lewat file yang ikut di-upload), sehingga kode yang tersebar di GitHub tetap aman meski dilihat siapa saja.

Intinya: Kalau API Key-mu sudah terlanjur ter-commit ke repository publik, jangan cuma hapus barisnya — anggap kunci itu sudah bocor permanen, segera generate ulang (revoke dan buat baru) kunci tersebut dari dashboard penyedia layanannya.

Mau langsung pakai template?

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

Browse Templates