Ek bilgiler
📜 018-005-env-dosyasinin-duzenlenmes-ve-cat-api-key-eklenmesi.md
Vite ile Ortam Değişkenleri (.env) ve Güvenli API Anahtarı Yönetimi
Bir projede sunucu şifresi, API adresi veya gizli anahtarlar gibi credential bilgilerini doğrudan kod içerisine yazıp versiyon kontrol sistemine göndermek büyük bir güvenlik açığı oluşturur. Vite bu süreci kolaylaştırarak ortam değişkenlerini (.env) otomatik olarak tanıyabiliyor. Ancak burada çok kritik bir kural var: Oluşturduğunuz .env dosyasının projenin ana kök dizininde yer alması ve istemci tarafında erişilmek istenen değişkenlerin mutlaka VITE_ ön ekiyle tanımlanması gerekiyor. Başında bu ön ek bulunmayan değişkenler güvenlik gerekçesiyle Vite tarafından dışarıya aktarılmaz.
Kod içerisinde bu değerlere import.meta.env.VITE_API_URL şeklinde kolayca erişebiliyoruz. En az değişkenleri tanımlamak kadar önemli bir diğer konu ise bu dosyanın Git repolarına sızmasını engellemektir. Projede .gitignore dosyasına .env eklenmeli, eğer dosya daha önce yanlışlıkla commit edildiyse mutlaka Git geçmişinden temizlenmelidir. Çünkü bu dosya sunucuya veya depoya değil, her geliştiricinin kendi ortamına özel kalmalı; gizli verilerin güvenliği proje mimarisinde baştan sıkı tutulmalıdır.
Pratikte bu yapıyı The Cat API servisine bağlanırken ihtiyaç duyacağımız API anahtarını saklamak için kullanacağız. Servise ücretsiz kaydolarak edindiğimiz anahtarı .env dosyasına VITE_CAT_API_KEY olarak tanımladık. Böylece hem hassas anahtarımızı kod tabanından izole ettik hem de projede Fetch, Axios veya RTK Query ile yapacağımız istekler için sağlam bir altyapı hazırladık. İlerleyen adımlarda Postman ve resmi API dokümantasyonu üzerinden bu veriyi güvenle kullanarak yolumuza devam edeceğiz.
📌 Hatırlanması Gereken Temel Noktalar (Takeaways)
- Vite Ön Ek Zorunluluğu (
VITE_): Vite projelerinde istemci kodunda erişilecek ortam değişkenleri mutlaka VITE_ ön ekiyle başlamalıdır; aksi takdirde değer okunamaz.
- Doğru Dosya Konumu:
.env dosyası src klasörünün içine değil, doğrudan projenin en üst seviyedeki kök (root) dizinine eklenmelidir.
import.meta.env Erişimi: Tanımlanan değişkenlere proje genelinde import.meta.env.VITE_DEGISKEN_ADI sentaksı üzerinden doğrudan ulaşılır.
- Git Güvenliği ve
.gitignore: .env dosyası kesinlikle repoya gönderilmemeli, .gitignore içine eklenmeli ve geçmişte commit edilmişse Git geçmişinden temizlenmelidir.
- Merkezi API Key Yönetimi: The Cat API gibi servis anahtarlarını
.env dosyasında tutmak, kod tabanını temiz ve credential verilerini güvende tutar.
📚 Ek Kaynaklar ve Derinlemesine Okuma Önerileri (Ek Bilgi)