Bir prototipi VPN arkasına koymak özel hissettirir, bu yüzden geriye kalan tek soru profili kimin alacağı gibi görünür. Bu varsayım belirli bir şekilde çöker: bir tünel, bir konağa kimin ulaşabileceğini denetler, konağın onlar geldikten sonra ne açığa çıkardığını değil. Önizleme hâlâ bir çalışma zamanı ortamı çalıştırır, veri tutar ve gerçek e-posta gönderebilen veya gerçek bir veritabanına yazabilen entegrasyonları çağırır. VPN’i ön kapı olarak görün ve sonra arkasındaki odayı tasarlayın.

Bir yol hedef kitle değildir

Bir test kullanıcısını VPN’e kaydetmek tam olarak tek bir soruyu yanıtlar: bu cihaz adrese ulaşabilir mi? Bu cihazın hangi sayfaları, API’leri veya konsolları kullanabileceği hakkında hiçbir şey söylemez. Bunlar ayrı izinlerdir ve yalnızca adresleri bilen bir ağ geçidi bunları uygulayamaz.

Önizleme sözleşmesini kısa bir liste olarak yazın: ana bilgisayar adı, dinleyici, izin verilen işlemler ve her rolü kimin üstlendiği. Ardından listenin gerçekten açığa çıkanla eşleşip eşleşmediğini kontrol edin.

Prototipi açabilen bir test kullanıcısının dağıtım konsoluna, veritabanı yönetim sayfasına veya geliştiricinin ana dizinine ihtiyacı yoktur. Ağ geçidi bir alt ağ yolu verirse bunların hepsi varsayılan olarak erişilebilir. Hedef başına bir yolu tercih edin ya da ek hizmetleri kendi kimlik doğrulamalarının arkasına koyun. Her iki seçim de çalınmış bir profilin neler yapabileceğini daraltır.

Paylaştığınız çalışma zamanı ortamı sözleşmenin parçasıdır

Hata ayıklayıcı ve otomatik yeniden yükleme içeren bir geliştirme sunucusu, tek bir makinede tek bir kişi için araçtır. Çerçeve belgeleri bu konuda açıktır: Flask’ın dağıtım kılavuzu geliştirme sunucusunun ve hata ayıklayıcısının üretim için olmadığını söyler ve özel ya da tek kullanıcılı hizmetleri de üretim sayar. Aynı mantık, yeniden yükleyici ve etkileşimli hata sayfası olan her çerçeve için geçerlidir. Kolaylık özellikleri, bir dosyayı kaydetmek ile bir değişikliği görmek arasındaki döngüyü kısaltmak için tasarlanmıştır, denetlemediğiniz bir test kullanıcısıyla yüzleşmek için değil.

Etkileşimli bir iz dökümü bir bilgi sızıntısıdır ve bazı hata ayıklayıcılarda kod yürütme yüzeyidir. Onu önizlemenin dışında tutun ya da önizlemeyi onu etkinleştiremeyen bir derlemeyle sınırlayın. Test kullanıcılarının tanılamaya ihtiyacı varsa onlara konsol yerine günlük verin.

Joker karakterli bir dinleyici bu hatanın diğer yarısıdır. Tüm arayüzlere bağlanmak hizmeti amaçlamadığınız ağlarda, kafenin Wi-Fi’ı dahil, açığa çıkarır.

Tek kullanımlık hesaplar ve gerçek yan etkisi olmayan veriler kullanın

Test için oluşturulmuş hesaplar ve kimseyi utandıramayacak veriler kullanın. Tehlikeli kısım nadiren veritabanı satırıdır; düğmenin arkasındaki entegrasyondur. E-posta, ödemeler, SMS, web kancaları ve dosya dışa aktarma hepsi önizlemenin dışına ulaşır.

Prototipin tetikleyebileceği her giden etkiyi listeleyin, sonra her birini bir sanal alana yönlendirin veya devre dışı bırakın. Özel bir yol, canlı bir ödeme uç noktasını zararsız hale getirmez.

Üretim kimlik bilgileri aynı sorunun başka bir biçimidir. Kurulum süresinden tasarruf etmek için üretim API anahtarını devralan bir önizleme, hata ayıklama arayüzü olan bir üretim sistemidir. En küçük yararlı izinlerle kapsamlı kimlik bilgileri oluşturun. Önizleme bittiğinde bunları döndürün, çünkü canlı anahtarlarla iptal edilmiş bir önizleme hâlâ canlıdır.

Sayfayı, varlıkları ve soketi kontrol edin

İşlenen bir sayfa, çalışan bir önizleme değildir. Varlık konağı, bir API veya bir WebSocket hâlâ test kullanıcısının ulaşamadığı bir URL’yi gösterirken HTML yüklenebilir. Bunların her biri sözleşmede ayrı bir girdidir.

Onaylanmış bir cihazdan sayfayı ve en büyük varlığı ayrı ayrı isteyin:

curl -sS -o /dev/null -w "%{http_code}" https://preview.staging.example/
curl -sS -o /dev/null -w "%{http_code}" https://preview.staging.example/assets/app.js

Sonra gerçek bir etkileşim sırasında tarayıcı konsolunu izleyin ve canlı yeniden yükleme soketinin bağlandığını doğrulayın. Bağlanmıyorsa düzeltme, sayfa tam görünene kadar genişleyen bir kural değil, o uç nokta için bilinçli bir yoldur.

Önizlemeyi belleğe göre değil bir tarihte kapatın

Önizlemeyi oluşturduğunuz anda ona bir sahip ve bir bitiş tarihi verin. Tarih geldiğinde girdiyi, test kullanıcısı kimliklerini ve geçici kimlik bilgilerini onlara sahip olan yapılandırma üzerinden kaldırın. Unutulmuş bir önizleme, özel bir prototipin kalıcı olarak herkese açık hale gelme yoludur.

Kapatmayı dışarıdan doğrulayın: ana bilgisayar adı çözümlenmeyi bırakmalı veya onaylanmamış istemcilere yanıt vermeyi bırakmalıdır.

Kaynağı ve kurtarma notlarını saklayın, ama yedek yolu değil. İyi bir önizleme sınırının testi sıkıcıdır: onaylanmış bir cihaz gerekli eylemleri yapabilir, onaylanmamış bir kimlik yapamaz. Tünel kapatıldıktan sonra da aynısı geçerli olmalıdır. O sonuç, tüm geliştirme özellikleri açık çalışan bir prototipin yanındaki VPN simgesinden daha değerlidir.

İlgili makaleler