İçeriğe geç
envdiff

Ortam değişkeni karşılaştırması

Staging çalışıyor, production çalışmıyor. Env dosyalarını karşılaştır.

İki env dosyasını ve varsa .env.example dosyanı yapıştır. Env Diff anahtarları tek tek eşleştirir, değerleri gizli tutar ve eksik anahtarları, değişen değerleri, production içindeki test anahtarlarını, tarayıcıya açılan gizli değerleri ve kimsenin doldurmadığı yer tutucuları gösterir.

Tüm kontrolleri gör
- FEATURE_NEW_CHECKOUT=true
+ OPENAI_API_KEY=chan••••yer tutucu değer
~ APP_URL=http••••••••şifresiz http adresi
~ NEXT_PUBLIC_STRIPE_KEY=pk_l••••••••
  STRIPE_SECRET_KEY=sk_t••••••••test ya da sandbox anahtarı
  JWT_SECRET=shar••••••••iki ortamda aynı gizli değer
Örnek karşılaştırma. Değerler uydurmadır ve araç seninkileri nasıl gizliyorsa öyle gizlenmiştir.

Nedir

Ortam değişkenleri için ücretsiz ve gizli bir karşılaştırma aracı. dotenv, export satırları, tırnaklar, çok satırlı değerler, JSON ve basit YAML biçimini anlar.

Kimin için

Tek başına yayın yapan geliştiriciler, sürüm sorumluları, DevOps ekipleri ve production ortamındaki tek bir eksik anahtar yüzünden bir akşamını kaybetmiş herkes için.

Hangi sorunu çözer

Yapılandırma kaymasını. Kod gözden geçirilir ve test edilir ama env dosyaları genelde edilmez. Unutulan bir anahtar ya da production içindeki bir test anahtarı fark edilmeden geçer.

İki ortamı karşılaştır

Okuma ve karşılaştırma bu sekmede yapılır. Hiçbir şey yüklenmez, kaydedilmez ya da saklanmaz.

dotenv, JSON ya da KEY: value satırları.
dotenv, JSON ya da KEY: value satırları.
İsteğe bağlı. Her ortamda bulunması gereken anahtarların listesi olarak .env.example dosyan kullanılır.

Sen açmadıkça değerler gizli kalır. Raporda hiçbir zaman değer yer almaz.

$ env diff ▌

Henüz bir şey karşılaştırılmadı

İki env dosyası yapıştır ya da her bulgu türünü görmek için örnek dosyaları yükle.

Değerler bu sayfadan hiç çıkmaz. Rapor ve CSV yalnızca anahtarları ve bulguları listeler.

Her kontrol ne anlama gelir

B ortamındaki bulgular production kabul edilir. Tarayıcıya açılan gizli değerler iki tarafta da sayılır.

  • Gizli değer tarayıcıya açık

    NEXT_PUBLIC ya da VITE gibi önekler değeri JavaScript paketinin içine koyar. Herkes okuyabilir.

  • Test ya da sandbox anahtarı

    sk_test gibi anahtarlar gerçek ödeme almaz, gerçek ileti göndermez. Staging için sorun değil, production içinde ise sessiz bir kesinti demek.

  • localhost adresine gidiyor

    Yalnızca geliştiricinin bilgisayarında çalışan bir veritabanı, önbellek ya da API adresi. Production ortamında ya hata verir ya da yanlış servise bağlanır.

  • Yer tutucu değer

    changeme, xxx, TODO ya da köşeli parantezler. Biri örneği kopyalamış ama hiç doldurmamış.

  • İki ortamda aynı gizli değer

    Staging ve production aynı gizli değeri paylaşıyor. Staging tarafındaki bir sızıntı production kapısını da açar.

  • Şifresiz http adresi

    https olmayan herkese açık bir adres. Çerezler, tokenlar ve yönlendirmeler bozulabilir ya da sızabilir.

  • Hata ayıklama açık

    Hata ayıklama ayarları ziyaretçilere hata izlerini ve iç detayları gösterir, her şeyi de yavaşlatır.

  • Çok kısa gizli değer

    12 karakterden kısa bir gizli anahtar, token ya da parola kolayca tahmin edilir.

  • Tanımsız değişkene başvuruyor

    Değer, aynı dosyada tanımlanmamış bir değişkene başvuruyor. Sonuçta boş bir değere dönüşür.

  • Boş

    Anahtar var ama değeri yok. Birçok kütüphane bunu tanımlı sayar ve sonra garip şekillerde hata verir.

Nasıl kullanılır

  1. A ortamını yapıştır

    Genelde staging ya da yerel dosyan. Etiketi kendi düzenine göre yeniden adlandır.

  2. B ortamını yapıştır

    Genelde production. Barındırma hizmetinden dışa aktar ya da gizli değer kasandan kopyala.

  3. Şablonu ekle

    İsteğe bağlı. Hangi zorunlu anahtarların eksik, hangilerinin belgelenmemiş olduğunu görmek için .env.example dosyanı yapıştır.

  4. Farkları oku

    Önce eksik anahtarlar, sonra farklı değerler, en son aynı olanlar gelir. Riskli değerler her satırda işaretlenir.

  5. Düzelt ve paylaş

    Tüm anahtarları içeren yeni bir .env.example indir, raporu da sürüm kontrol listesine kopyala.

Bilmekte fayda var

  • Kontroller adlara ve değer kalıplarına bakar. Bir anahtarın sağlayıcıda gerçekten geçerli olup olmadığını bilemez.
  • Komut yerine koyma gibi kabuk özellikleri çalıştırılmaz, yalnızca düz değişken başvuruları kontrol edilir.
  • YAML desteği düz KEY: value satırlarını kapsar, iç içe yapıları kapsamaz.
  • Değerleri göstermek yalnızca ekranda gördüğünü değiştirir. Her şeyi temizlemek için sekmeyi kapat.

Sorular

Gerçek gizli değerleri buraya yapıştırmak güvenli mi?

Sayfa yapıştırdığın hiçbir şeyi bir yere göndermez ve raporda değer yer almaz. Yine de en güvenli alışkanlık, paylaşılan bir ekrana bir kez bile yapıştırılmış gizli değeri yenilemektir.

B neden production sayılıyor?

Çoğu kişi staging ile production ortamını karşılaştırır. Yayınlamak üzere olduğun ortamı B'ye koy, risk kontrolleri ona uygulanır.

Parmak izi nedir?

Her değerin kısa bir SHA 256 özeti. İkisini de göstermeden iki değerin farklı olduğunu görmeni sağlar.

İkiden fazla dosyayı karşılaştırabilir mi?

Onları aynı şablona karşı ikişer ikişer karşılaştır. Şablon her karşılaştırmayı tek bir anahtar listesine bağlar.

Geliştiriciyle konuş

Sorun, fikrin ya da iş teklifin mi var? X veya Telegram üzerinden yaz.

Geliştiriciye destek ol

Bu araç sana zaman kazandırdıysa kendi cüzdanından bu EVM adresine bahşiş gönderebilirsin.

0xd28Fd90eD69092bd01598f237aad33a0cc9c3EeA