Miért nem teszi biztonságossá a VPN a fejlesztői előnézetedet megosztásra
A VPN útvonalat ad a tesztelőknek a prototípusodhoz; nem teszi biztonságossá az előnézetet. Határozd meg a közönséget, a futtatókörnyezetet, az adatokat és a mellékhatásokat, mielőtt megosztod.
Egy prototípust VPN mögé tenni privátnak tűnik, így az egyetlen megmaradó kérdés annak tűnik, ki kapja a profilt. Ez a feltevés sajátos módon bukik meg: az alagút azt szabályozza, ki érhet el egy gazdagépet, nem pedig azt, mit tesz közzé a gazdagép, miután megérkeznek. Az előnézet továbbra is futtatókörnyezetet futtat, adatokat tart és olyan integrációkat hív, amelyek valódi e-mailt küldhetnek vagy valódi adatbázisba írhatnak. Kezeld a VPN-t előajtóként, és utána tervezd meg a mögötte lévő szobát.
Az útvonal nem közönség
Egy tesztelő felvétele a VPN-be pontosan egy kérdésre válaszol: elérheti-e ez az eszköz a címet? Semmit nem mond arról, mely oldalakat, API-kat vagy konzolokat használhat ez az eszköz. Ezek külön jogosultságok, és egy csak címeket ismerő átjáró nem tudja érvényesíteni őket.
Írd meg az előnézet szerződését rövid listaként: gazdagépnév, figyelő, engedélyezett műveletek és hogy ki melyik szerepet tölti be. Utána ellenőrizd, hogy a lista megfelel-e annak, ami valóban közzé van téve.
Egy tesztelőnek, aki meg tudja nyitni a prototípust, nincs szüksége a telepítési konzolra, az adatbázis adminfelületére vagy a fejlesztő saját könyvtárára. Ha az átjáró alhálózati útvonalat ad, ezek mindegyike alapértelmezés szerint elérhető. Részesítsd előnyben a célonkénti útvonalat, vagy tedd a kiegészítő szolgáltatásokat a saját hitelesítésük mögé. Bármelyik választás szűkíti, mit tehet egy ellopott profil.
A megosztott futtatókörnyezet a szerződés része
A hibakeresővel és automatikus újratöltéssel rendelkező fejlesztői kiszolgáló egy embernek való eszköz egy gépen. A keretrendszerek dokumentációja egyértelmű ebben: a Flask telepítési útmutatója azt mondja, hogy a fejlesztői kiszolgáló és a hibakereső nem termelésre való, és a privát vagy egyfelhasználós szolgáltatásokat is termelésnek számolja. Ugyanez az érvelés vonatkozik minden olyan keretrendszerre, amelyben újratöltő és interaktív hibaoldal van. A kényelmi funkciók arra készültek, hogy lerövidítsék a fájl mentése és a változás megjelenése közötti hurkot, nem pedig hogy olyan tesztelővel szembesüljenek, akit nem irányítasz.
Az interaktív nyomkövetés információszivárgás, és egyes hibakeresőkben kódfuttatási felület. Tartsd távol az előnézettől, vagy korlátozd az előnézetet olyan buildre, amely nem tudja engedélyezni. Ha a tesztelőknek diagnosztikára van szükségük, adj nekik naplókat konzol helyett.
A helyettesítő karakteres figyelő ennek a hibának a másik fele. Az összes interfészhez kötés olyan hálózatokon teszi elérhetővé a szolgáltatást, amelyeket nem szándékoztál, beleértve a kávézó Wi-Fi-jét.
Használj eldobható fiókokat és valódi mellékhatások nélküli adatokat
Használj tesztelésre létrehozott fiókokat és olyan adatokat, amelyek senkit nem hozhatnak zavarba. A veszélyes rész ritkán az adatbázissor; a gomb mögötti integráció az. Az e-mail, a fizetések, az SMS, a webhookok és a fájlexport mind az előnézeten kívülre jutnak.
Sorolj fel minden kimenő hatást, amelyet a prototípus kiválthat, majd irányíts mindegyiket homokozóba, vagy kapcsold ki. Egy privát útvonal nem teszi ártalmatlanná az élő fizetési végpontot.
A termelési hitelesítő adatok ugyanaz a probléma más formában. Az az előnézet, amely örökli a termelési API-kulcsot a beállítási idő megtakarítása érdekében, termelési rendszer hibakereső felülettel. Hozz létre hatókörrel rendelkező hitelesítő adatokat a legkisebb hasznos jogosultságokkal. Forgatsd őket, amikor az előnézet véget ér, mert egy visszavont előnézet élő kulcsokkal még mindig él.
Ellenőrizd az oldalt, az eszközöket és a socketet
Egy megjelenő oldal nem működő előnézet. A HTML betölthet, miközben egy eszközgazdagép, egy API vagy egy WebSocket még mindig olyan URL-re mutat, amelyet a tesztelő nem érhet el. Ezek mindegyike külön bejegyzés a szerződésben.
Egy jóváhagyott eszközről kérdezd le külön az oldalt és a legnagyobb eszközt:
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
Utána figyeld a böngésző konzolját egy valódi interakció során, és erősítsd meg, hogy az élő újratöltés socket csatlakozik. Ha nem, a javítás egy szándékos útvonal ahhoz a végponthoz, nem pedig egy szabály, amely addig szélesedik, amíg az oldal teljesnek nem tűnik.
Vonulj ki az előnézetből egy dátum szerint, ne emlékezetből
Adj az előnézetnek tulajdonost és befejezési dátumot abban a pillanatban, amikor létrehozod. Amikor eljön a dátum, távolítsd el a bejegyzést, a tesztelők azonosítóit és az ideiglenes hitelesítő adatokat azon a konfiguráción keresztül, amely birtokolja őket. Az elfelejtett előnézet az, ahogy egy privát prototípus tartósan nyilvánossá válik.
Ellenőrizd a kivonulást kívülről: a gazdagépnévnek fel kell hagynia a feloldással, vagy fel kell hagynia a válaszadással a nem jóváhagyott klienseknek.
Tartsd meg a forrást és a helyreállítási jegyzeteket, de a tartalék útvonalat ne. Egy jó előnézethatár próbája unalmas: egy jóváhagyott eszköz el tudja végezni a szükséges műveleteket, egy nem jóváhagyott identitás pedig nem. Ugyanennek kell teljesülnie azután is, hogy az alagutat kikapcsolták. Az az eredmény többet ér, mint egy VPN-ikon egy olyan prototípus mellett, amely az összes fejlesztési funkcióval bekapcsolva fut.