Kāpēc VPN nepadara tavu izstrādes priekšskatījumu drošu kopīgošanai
VPN dod testeriem maršrutu uz tavu prototipu; tas nepadara priekšskatījumu drošu. Pirms kopīgošanas nosaki auditoriju, izpildes vidi, datus un blakusefektus.
Prototipa novietošana aiz VPN šķiet privāta, tāpēc vienīgais atlikušais jautājums izskatās kā tas, kurš saņem profilu. Šis pieņēmums sabrūk noteiktā veidā: tunelis kontrolē, kas var sasniegt resursdatoru, nevis to, ko resursdators atklāj pēc viņu ierašanās. Priekšskatījums joprojām izpilda izpildes vidi, glabā datus un izsauc integrācijas, kas var nosūtīt īstu e-pastu vai rakstīt īstā datubāzē. Uztver VPN kā priekšdurvis un pēc tam projektē telpu aiz tām.
Maršruts nav auditorija
Testera reģistrēšana VPN atbild tieši uz vienu jautājumu: vai šī ierīce var sasniegt adresi? Tas neko nesaka par to, kuras lapas, API vai konsoles šī ierīce drīkst izmantot. Tie ir atsevišķas atļaujas, un vārteja, kas zina tikai adreses, tās nevar īstenot.
Uzraksti priekšskatījuma līgumu kā īsu sarakstu: resursdatora nosaukums, klausītājs, atļautās darbības un kas pilda katru lomu. Pēc tam pārbaudi, vai saraksts atbilst tam, kas patiešām ir atklāts.
Testerim, kurš var atvērt prototipu, nav nepieciešama izvietošanas konsole, datubāzes administrēšanas lapa vai izstrādātāja mājas direktorija. Ja vārteja piešķir apakštīkla maršrutu, tas viss ir pieejams pēc noklusējuma. Dod priekšroku maršrutam katram galamērķim vai novieto papildu pakalpojumus aiz to pašu autentifikācijas. Jebkura izvēle sašaurina to, ko var izdarīt nozagts profils.
Izpildes vide, ko kopīgo, ir līguma daļa
Izstrādes serveris ar atkļūdotāju un automātisku pārlādi ir rīks vienam cilvēkam vienā mašīnā. Ietvaru dokumentācija par to ir tieša: Flask izvietošanas rokasgrāmata saka, ka tā izstrādes serveris un atkļūdotājs nav paredzēti ražošanai, un tā privātus vai viena lietotāja pakalpojumus arī uzskata par ražošanu. Tā pati loģika attiecas uz jebkuru ietvaru ar pārlādētāju un interaktīvu kļūdas lapu. Ērtības funkcijas ir veidotas, lai saīsinātu cilpu starp faila saglabāšanu un izmaiņu redzēšanu, nevis lai stātos pretī testerim, ko nekontrolē.
Interaktīva izsekošana ir informācijas noplūde un dažos atkļūdotājos koda izpildes virsma. Turi to ārpus priekšskatījuma vai ierobežo priekšskatījumu ar būvējumu, kas to nevar iespējot. Ja testeriem vajag diagnostiku, dod viņiem žurnālus, nevis konsoli.
Klausītājs ar aizstājējzīmi ir otra šīs kļūdas puse. Saistīšanās ar visām saskarnēm atklāj pakalpojumu tīklos, kurus neesi paredzējis, tostarp kafejnīcas Wi-Fi.
Izmanto vienreizējus kontus un datus bez īstiem blakusefektiem
Izmanto testēšanai izveidotus kontus un datus, kas nevienu nevar apkaunot. Bīstamā daļa reti ir datubāzes rinda; tā ir integrācija aiz pogas. E-pasts, maksājumi, SMS, tīmekļa āķi un failu eksports visi nonāk ārpus priekšskatījuma.
Uzskaiti katru izejošo efektu, ko prototips var izraisīt, pēc tam katru novirzi uz smilškasti vai atslēdz to. Privāts maršruts nepadara dzīvu maksājumu galapunktu nekaitīgu.
Ražošanas akreditācijas dati ir tā pati problēma citā formā. Priekšskatījums, kas manto ražošanas API atslēgu, lai ietaupītu iestatīšanas laiku, ir ražošanas sistēma ar atkļūdošanas saskarni. Veido ierobežotas akreditācijas datus ar mazākajām lietderīgajām atļaujām. Maini tos, kad priekšskatījums beidzas, jo atsaukts priekšskatījums ar dzīvām atslēgām joprojām ir dzīvs.
Pārbaudi lapu, resursus un ligzdu
Lapa, kas tiek atveidota, nav strādājošs priekšskatījums. HTML var ielādēties, kamēr resursu resursdators, API vai WebSocket joprojām norāda uz URL, ko testers nevar sasniegt. Katrs no tiem ir atsevišķs ieraksts līgumā.
No apstiprinātas ierīces pieprasi lapu un lielāko resursu atsevišķi:
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
Pēc tam īstas mijiedarbības laikā vēro pārlūka konsoli un apstiprini, ka dzīvās pārlādes ligzda savienojas. Ja ne, labojums ir apzināts maršruts šim galapunktam, nevis noteikums, kas paplašinās, līdz lapa izskatās pabeigta.
Pārtrauc priekšskatījumu pēc datuma, nevis pēc atmiņas
Piešķir priekšskatījumam īpašnieku un beigu datumu tajā brīdī, kad to izveido. Kad datums pienāk, noņem ierakstu, testeru identitātes un pagaidu akreditācijas datus, izmantojot to konfigurāciju, kam tie pieder. Aizmirsts priekšskatījums ir veids, kā privāts prototips kļūst pastāvīgi publisks.
Pārbaudi pārtraukšanu no ārpuses: resursdatora nosaukumam jāpārstāj atrisināties vai jāpārstāj atbildēt neapstiprinātiem klientiem.
Saglabā avotu un atjaunošanas piezīmes, bet ne rezerves ceļu. Labas priekšskatījuma robežas tests ir garlaicīgs: apstiprināta ierīce var veikt nepieciešamās darbības, un neapstiprināta identitāte to nevar. Tas pats jāizpildās pēc tam, kad tunelis ir izslēgts. Šis rezultāts ir vērtīgāks par VPN ikonu blakus prototipam, kas darbojas ar visām iespējotām izstrādes funkcijām.