Ставањето прототип зад VPN изгледа приватно, па единственото преостанато прашање изгледа како кој го добива профилот. Таа претпоставка пропаѓа на посебен начин: тунелот контролира кој може да стигне до хост, а не што хостот открива штом тие пристигнат. Прегледот сѐ уште извршува околина, држи податоци и повикува интеграции што можат да испратат вистинска е-пошта или да пишуваат во вистинска база. Третирај го VPN како влезна врата и потоа дизајнирај ја собата зад неа.

Рутата не е публика

Запишувањето тестер во VPN одговара точно на едно прашање: може ли овој уред да стигне до адресата? Тоа не кажува ништо за тоа кои страници, API-ја или конзоли смее да ги користи тој уред. Тоа се одделни дозволи, а портата што знае само адреси не може да ги спроведе.

Напиши го договорот за прегледот како краток список: име на хост, слушач, дозволени операции и кој ја има секоја улога. Потоа провери дали списокот одговара на она што е навистина изложено.

Тестер што може да го отвори прототипот не му треба конзола за распоредување, административна страница на базата или домашниот директориум на развивачот. Ако портата дава рута до подмрежа, сето тоа е достапно по стандард. Претпочитај рута за секоја дестинација или стави ги дополнителните услуги зад нивна сопствена автентикација. Секој од двата избора го стеснува она што може да го направи украден профил.

Околината што ја споделуваш е дел од договорот

Развојен сервер со дебагер и автоматско повторно вчитување е алатка за еден човек на една машина. Документацијата на рамките е директна за ова: водичот за распоредување на Flask вели дека неговиот развоен сервер и дебагер не се за продукција, и приватните или еднокориснички услуги ги смета за продукција. Истото резонирање важи за секоја рамка со вчитувач и интерактивна страница за грешки. Функциите за удобност се дизајнирани да ја скратат јамката помеѓу зачувување на датотека и гледање на промена, а не да се соочат со тестер што не го контролираш.

Интерактивната трага е истекување на информации и во некои дебагери површина за извршување код. Држи ја надвор од прегледот или ограничи го прегледот на изградба што не може да ја овозможи. Ако на тестерите им треба дијагностика, дај им дневници наместо конзола.

Слушач со џокер знак е другата половина од оваа грешка. Врзување на сите интерфејси ја изложува услугата на мрежи што не си ги имал на ум, вклучително Wi-Fi во кафулето.

Користи еднократни сметки и податоци без вистински несакани ефекти

Користи сметки создадени за тестирање и податоци што не можат да засрамат никого. Опасниот дел ретко е редот во базата; тоа е интеграцијата зад копчето. Е-пошта, плаќања, SMS, веб-куки и извоз на датотеки сите стигнуваат надвор од прегледот.

Наброј го секој излезен ефект што прототипот може да го предизвика, потоа насочи го секој кон песочник или исклучи го. Приватната рута не го прави живата точка за плаќање безопасна.

Продукциските акредитиви се истиот проблем во друг облик. Преглед што го наследува продукцискиот API клуч за да заштеди време за поставување е продукциски систем со интерфејс за дебагирање. Создавај ограничени акредитиви со најмалите корисни дозволи. Ротирај ги кога прегледот ќе заврши, зашто откажан преглед со живи клучеви сѐ уште е жив.

Провери ја страницата, ресурсите и сокетот

Страница што се прикажува не е преглед што работи. HTML може да се вчита додека хостот за ресурси, API или WebSocket сѐ уште покажува на URL до кој тестерот не може да стигне. Секој од нив е одделен запис во договорот.

Од одобрен уред, побарај ја страницата и најголемиот ресурс одделно:

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

Потоа набљудувај ја конзолата на прелистувачот за време на вистинска интеракција и потврди дека сокетот за живо вчитување се поврзува. Ако не, поправката е намерна рута за таа крајна точка, а не правило што се шири додека страницата не изгледа целосна.

Повлечи го прегледот на датум, не по сеќавање

Дај му на прегледот сопственик и краен датум во моментот кога го создаваш. Кога датумот ќе дојде, отстрани го записот, идентитетите на тестерите и привремените акредитиви преку конфигурацијата што ги поседува. Заборавен преглед е начинот на кој приватен прототип станува трајно јавен.

Потврди го повлекувањето однадвор: името на хостот треба да престане да се решава или да престане да одговара на неодобрени клиенти.

Зачувај го изворот и белешките за враќање, но не и резервниот пат. Тестот на добра граница на преглед е здодевен: одобрен уред може да ги изврши потребните дејства, а неодобрен идентитет не може. Истото мора да важи откако тунелот ќе се исклучи. Тој резултат вреди повеќе од икона за VPN до прототип што работи со сите вклучени развојни функции.

Поврзани статии