Keširana klasifikacija štedi jedno pretraživanje i zamrzava jučerašnje mišljenje u današnju odluku. Prava usporedba nije keš protiv odsutnosti keša: to je opažanje, njegova svježina i odgovor koji je odabralo vaše web-mjesto. Izgubite li granicu između tih triju, optimizacija počinje sama voditi politiku. Popravak je knjigovodstvo, a ne bolji feed.

Tri zapisa s 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 je li posljednje osvježavanje vratilo išta. Odgovor je ono što vaše web-mjesto č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 redak 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 pozornost. Trenutak kada je vaše pretraživanje izvršeno nije trenutak kada je pružatelj objavio skup podataka, a operater koji redak čita kasnije mora znati od kojega od tih dvaju dolazi svaka vrijednost. Postavite istek i osvježavanje prema dokumentiranom modelu ažuriranja feeda i prema cijeni pogreške, nikada prema broju posuđenom s drugog web-mjesta.

Zadržite polje, a ne presudu

MaxMindova dokumentacija o anonimnim IP adresama jedan je konkretan primjer feeda koji razdvaja anonimni VPN, hosting pružatelja, javni proxy i Tor izlaz u zasebna polja. Dokumentira i to da se neregistrirana VPN pod-mrež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 odsutnost 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 pozivatelj nikada ne smije moći odabrati tuđu keširanu reputaciju.

Taj je kvar istodobno pogreška ispravnosti i sigurnosti, jer napadač koji kontrolira 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, dokumentirajte 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 što 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će dopuštenje ili kao zabranu za cijelo web-mjesto. Ograničite koliko dugo pretraživanje smije trajati i zaustavite oluje osvježavanja mehanizmom koji integracija podržava. Kada se tijekom prekida koristi zastarjela vrijednost, označite je zastarjelom u toč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 pokraj 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 povijest pregledavanja.

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

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