Predpomnjenja klasifikacija prihrani eno poizvedbo in zamrzne včerajšnje mnenje v današnjo odločitev. Prava primerjava ni predpomnilnik proti njegovi odsotnosti: je opazovanje, njegova svežina in odziv, ki ga je izbralo vaše spletno mesto. Če izgubite mejo med temi tremi, začne optimizacija sama voditi politiko. Popravek je knjigovodstvo, ne boljši tok.

Trije zapisi s tremi različnimi urami

Opazovanje je polje, ki ste ga prejeli, tok, iz katerega je prišlo, in različica nabora podatkov za njim. Svežina je lastnost vnosa v predpomnilniku: kdaj je poizvedba tekla, kdaj se vnosu preneha zaupati in ali je zadnje osveževanje kaj vrnilo. Odziv je tisto, kar vaše spletno mesto glede tega stori za to zahtevo, ta račun ali to dejanje. Ustvarjajo jih različni lastniki in propadajo z različno hitrostjo, zato ena vrstica z imenom blocked uniči to razlikovanje.

RecordWho owns itHow long it should liveDamage when it is folded into another row
The observationthe feed's operatoruntil a newer dataset version replaces ita stale lookup becomes indistinguishable from a fresh one
Its freshnessthe applicationone request's tolerance for agea failed refresh hides behind a cache hit
The responsewhoever owns the site policyuntil that policy is revieweda feed outage turns into an indefinite block

Dve uri si zaslužita posebno pozornost. Trenutek, ko je tekla vaša poizvedba, ni trenutek, ko je ponudnik objavil nabor podatkov, in operater, ki vrstico bere pozneje, mora vedeti, iz katere od obeh izhaja vsaka vrednost. Nastavite potek in osveževanje po dokumentiranem modelu posodabljanja toka in po ceni napake, nikoli po številu, izposojenem z drugega spletnega mesta.

Ohranite polje, ne razsodbe

Dokumentacija MaxMind o anonimnih naslovih IP je en konkreten primer toka, ki anonimni VPN, ponudnika gostovanja, javni posrednik in izhod Tor loči v ločena polja. Dokumentira tudi, da se neregistrirana podmreža VPN lahko namesto tega pojavi pod zastavico gostovanja. Če to sploščite v en boolean, zavržete edini del, ki bi ga operater lahko pozneje revidiral.

Nobena smer sklepanja ni varna. Oznaka gostovanja ne dokazuje, da je bil uporabljen tunel, in odsotnost zastavice VPN ne dokazuje, da med odjemalcem in vašo storitvijo ni bilo ničesar. To sta dve različni trditvi in en sam boolean ne more izraziti nobene od njiju.

Vnos povežite z naslovom, ki ste ga preverili

Za obratnim posrednikom mora aplikacija uporabljati obravnavo odjemalskega naslova, ki jo je odobrila namestitev. Glave za posredovanje, ki jo zagotovi klicatelj, nikoli ne sme biti mogoče izbrati tuje predpomnjene reputacije.

Ta napaka je hkrati napaka pravilnosti in varnosti, ker lahko napadalec, ki nadzoruje glavo, podeduje zaupanja vreden vnos ali pripne žrtev na slabega. Ključ izpeljite iz povezave, ki jo je končala vaša lastna infrastruktura, in zabeležite, katera izpeljava je bila uporabljena. Ko je spredaj več posrednikov, dokumentirajte verigo, namesto da zaupate prvi verjetno videti glavi. Če je veriga dvoumna, zabeležite izpeljani ključ in glavo, ki ste jo zavrnili, ker bo pregled incidenta vprašal prav po drugi.

Brez dokazov ni čist rezultat

Časovna omejitev, popačen odziv in nedosegljiva baza podatkov pomenijo vsak nekaj drugega kot uspešna poizvedba, ki se ni ujemala z ničimer. Predstavite jih kot ločene izide in vnaprej odločite, kaj zaščiteno dejanje stori, ko dokazov sploh ni. Stran samo za branje in dejanje v prijavljenem računu lahko tam razumno sledita drugačnim pravilom.

Ohranjanje običajnega preverjanja ali zahteva za podprto preverjanje je običajno boljši odgovor kot obravnavati izpad kot splošno dovoljenje ali kot prepoved za celotno spletno mesto. Omejite, kako dolgo lahko poizvedba teče, in ustavite nevihte osveževanja z mehanizmom, ki ga podpira integracija. Ko se med izpadom uporabi zastarela vrednost, jo na točki odločitve označite kot zastarelo in naredite zadnjo napako osveževanja vidno, da dolgotrajna okvara ne more iti za zdravo vnos. Kakršna koli je izbira, zapišite jo tam, kjer se politika izvaja, ne v komentarju ob poizvedbi.

Hramba spada k isti odločitvi: hranite polja, ki jih ta funkcija potrebuje, in revizijsko sled za njimi, nič več. Predpomnilnik IP ne postane zgodovina brskanja.

Sprejmite štiri primere, vključno s popravkom

Preizkusite svež rezultat, potekel rezultat, neuspešno poizvedbo in pozneje popravljeno klasifikacijo. Vsak vadi drugo vejo in samo zadnji pokaže, ali je napačno omejitev mogoče razveljaviti.

Nato potrdite, da ima običajen uporabnik pot do zahteve za pregled po napačni blokadi, ker bo tok včasih napačen in čakalna vrsta je del zasnove. Štiri primere zapišite v runbook ob ime lastnika politike. Zasnova si prisluži svoje mesto, ko odstrani odvečne poizvedbe, ohrani negotovost in odločitev ostane vidno v rokah človeka.

Sorodni članki