Keširana klasifikacija štedi jedno pretraživanje i zamrzava jučerašnje mišljenje u današnju odluku. Pravo poređenje nije keš protiv odsustva keša: to je opažanje, njegova svježina i odgovor koji je vaš sajt odabrao. Izgubite li granicu između tih tri, optimizacija počinje sama voditi politiku. Popravka je knjigovodstvo, a ne bolji feed.

Tri zapisa sa tri različita sata

Opažanje je polje koje ste dobili, feed iz kojeg je došlo i verzija skupa podataka koja stoji za njim. Svježina je svojstvo keš unosa: kada je pretraživanje izvršeno, kada se unosu prestaje vjerovati i da li je posljednje osvježavanje vratilo bilo šta. Odgovor je ono što vaš sajt čini u vezi s tim za ovaj zahtjev, ovaj račun ili ovu radnju. Proizvode ih različiti vlasnici i propadaju različitim brzinama, zato jedan red nazvan blocked uništava tu razliku.

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

Dva sata zaslužuju posebnu pažnju. Trenutak kada je vaše pretraživanje izvršeno nije trenutak kada je provajder objavio skup podataka, a operater koji red čita kasnije mora znati od kojeg od ta dva dolazi svaka vrijednost. Postavite istek i osvježavanje prema dokumentovanom modelu ažuriranja feeda i prema cijeni pogreške, nikada prema broju posuđenom s drugog sajta.

Zadržite polje, a ne presudu

MaxMindova dokumentacija o anonimnim IP adresama jedan je konkretan primjer feeda koji razdvaja anonimni VPN, hosting provajdera, javni proxy i Tor izlaz u zasebna polja. Ona takođe dokumentuje da se neregistrirana VPN podmreža može umjesto toga pojaviti pod zastavicom hostinga. Spljoštavanje toga u jedan boolean odbacuje jedini dio koji bi operater kasnije mogao revidirati.

Nijedan smjer zaključivanja nije siguran. Oznaka hostinga ne dokazuje da je tunel korišten, a odsustvo VPN zastavice ne dokazuje da ništa nije stajalo između klijenta i vaše usluge. To su dvije različite tvrdnje i jedan boolean ne može izraziti nijednu od njih.

Vežite unos za adresu koju ste provjerili

Iza obrnutog proxyja aplikacija mora koristiti obradu klijentske adrese koju je odobrilo postavljanje. Zaglavlje prosljeđivanja koje je dao pozivalac nikada ne smije moći odabrati tuđu keširanu reputaciju.

Taj kvar je istovremeno greška ispravnosti i sigurnosti, jer napadač koji kontroliše zaglavlje može naslijediti pouzdan unos ili prikovati žrtvu za loš. Izvedite ključ iz veze koju je prekinula vaša vlastita infrastruktura i zabilježite koje je izvođenje korišteno. Kada je naprijed nekoliko proxyja, dokumentujte lanac umjesto da vjerujete prvom zaglavlju koje izgleda uvjerljivo. Ako je lanac nejasan, zabilježite izvedeni ključ i zaglavlje koje ste odbili, jer će pregled incidenta pitati upravo za drugo.

Nema dokaza nije čist rezultat

Tajmaut, iskrivljen odgovor i nedostupna baza podataka znače svaki nešto drugo od uspješnog pretraživanja koje se ni s čim nije poklopilo. Predstavite ih kao zasebne ishode i unaprijed odlučite šta zaštićena radnja čini kada dokaza nema nikako. Stranica samo za čitanje i radnja na prijavljenom računu mogu razumno slijediti različita pravila.

Zadržavanje normalne autentikacije ili traženje podržane provjere obično je bolji odgovor nego tretirati prekid kao sveopšte dopuštenje ili kao zabranu za cijeli sajt. Ograničite koliko dugo pretraživanje smije trajati i zaustavite oluje osvježavanja mehanizmom koji integracija podržava. Kada se tokom prekida koristi zastarjela vrijednost, označite je kao zastarjelu u tački odluke i učinite posljednji neuspjeh osvježavanja vidljivim, da dugotrajni kvar ne može proći kao zdrav unos. Kakav god izbor bio, zapišite ga tamo gdje se politika provodi, a ne u komentaru pored pretraživanja.

Zadržavanje pripada istoj odluci: čuvajte polja koja ova funkcija treba i trag pregleda iza njih, ništa više. IP keš ne mora postati historija pregledanja.

Prihvatite četiri slučaja, uključujući ispravku

Testirajte svjež rezultat, istekao rezultat, neuspjelo pretraživanje i klasifikaciju koja je kasnije ispravljena. Svaki vježba drugu granu, a samo posljednji pokazuje može li se pogrešno ograničenje poništiti.

Zatim potvrdite da običan korisnik ima put da zatraži pregled nakon pogrešnog bloka, jer feed će ponekad biti u krivu, a red je dio dizajna. Upišite četiri slučaja u runbook uz ime vlasnika politike. Dizajn zaslužuje svoje mjesto kada uklanja suvišna pretraživanja uz očuvanu nesigurnost i odluku koja vidljivo pripada osobi.

Povezani članci