Võtke ühendust toega

Vastame e-postiga, tavaliselt kahe päeva jooksul.

Väärkasutuse vältimiseks kontrollib seda saadetist Google reCAPTCHA. Seejuures edastatakse andmeid Googlele. Skript laaditakse alles selle vormi avamisel.

← Kõik postitused

Kaks viisi juurdepääsulogi valesti lugeda

Sisust ja selle ülevaatamisest

Selles artiklis

Terve nädala muudatused põhinesid arvudel, mis võeti juurdepääsulogi ühest päevast: miljon rida, sada tuhat neist meie omad. Et teada saada, kas see kõik töötas, tuleb samad arvud hiljem uuesti võtta — ja teist korda käsitsi kokku pandud arvud ei ole kunagi päris samad mis esimesel korral. Teine botiloend, teine kuupäevavahemik, teine grep.

Nii kolis lugemine tööriista, kuhu on lähtetase sisse kirjutatud konstandina. Esimene jooks tehti täpselt selle logi vastu, millest lähtetase pärines. Kõik pidi tulema võrdne.

Kaks rida ei olnud. Mõlemal korral oli tööriist õige ja algne arv vale.

loetudtegelikultomaniku tunnus10iganädalane voog0398mõlemad arvud olid valed vastassuundades

grep loeb kogu rida

Nädala peamine järeldus oli, et omaniku tunnus esines tervel päeval üks kord. Seda loeti mustriga, mida võrreldi logi tervete ridadega — ja logirida sisaldab päringut, aga ka viitajat ja kasutajaagenti.

Ainus vaste oli &t= otsingumootori viitaja URL-is. Keegi saabus mobiilse otsingutulemuse kaudu, mille aadress sattus sisaldama neid kahte märki. Päringutes endis esines tunnus null korda.

Järeldus muutus tugevamaks, mis on kummaline viis eksida. See on ikka vale. Lõigake kõigepealt välja päringuväli — see on kombineeritud logirea teine jutumärkides väli — ja otsige selle seest.

Else-if ahel neelab konkreetse juhtumi

Teine arv ütles, et iganädalast voogu oli päritud null korda. Klassifikatsioon nägi mõistlik välja:

if (url contains "/live/") ... else if (url contains "feed.xml") ...

Voo aadressid sellel saidil on /live/<number>/feed.xml. Igaüks neist sobis esimese haruga ega jõudnud kunagi teiseni. Tegelik arv oli 398.

Valest arvust tehtud järeldus jäi juhuslikult püsima: need 398 päringut jagunevad ühtlaselt kõigi üheteistkümne keeleprefiksi vahel kolme üldise brauserisõne all, mis on ussrobot, kes võtab iga tõlke, mitte tellija. Keegi ei olnud tellinud. Aga „keegi ei tellinud“ ja „null päringut“ on kaks erinevat väidet ning teist neist tsiteeriti korduvalt, enne kui keegi kontrollis.

Kontroll, mis tabab mõlemad

Käivitage lugemistööriist täpselt selle päeva vastu, millest lähtetase pärines. Iga rida peab tulema võrdne. Mis ei tule, on kas tööriista viga või algse arvu viga ja kumb see on, selgub enne, kui sel on tähtsust, mitte pärast.

See võttis ühe jooksu ja umbes neli minutit. Mõlemad arvud olid selleks ajaks juba kirjalikult ilmunud ja kumbagi ei oleks tabanud koodi hoolikam lugemine — ainult see, et lasime mõõtmisel enda eest vastata.

Reklaam