Kalo te përmbajtja
SEO Analyzer

Verifikimi i pronësisë

Pse crawl-i i plotë kërkon provë se hosti është yti, dhe dy mënyrat për ta dhënë atë provë.

Pse kërkohet

Skanimi i një faqeje të vetme nuk kërkon verifikim. Ai është një kërkesë drejt një adrese publike — po aq e lejuar sa hapja e saj në një shfletues.

Crawl-i i plotë i një sajti kërkon verifikim. Ai do të thotë qindra kërkesa drejt serverit të dikujt tjetër, dhe ajo është ngarkesë reale mbi burimet e tij.

Sistemi i vjetër i këtij projekti nuk e kishte këtë kufi. Të dhënat e ruajtura tregojnë crawl-e të plota të sajteve institucionale dhe mediatike, të nisura nga kushdo që dinte adresën, pa asnjë gjurmë autorizimi. Verifikimi është ndreqja e asaj gjendjeje, dhe nuk ka flamur për ta anashkaluar.

Ai mbron edhe ty si përdorues: pa të, kushdo mund të niste crawl-e në emrin tënd, dhe raportet për sajtin tënd mund të hapeshin nga kushdo.

Dy mënyra, dhe pse të dyja

DNS TXT — një regjistrim te _lessonpeak-verifikim.<hosti> ose te apex-i i domainit. Kjo provon kontroll mbi zonën DNS, pra provën më të fortë. Por kërkon qasje te paneli i DNS-së, të cilën shumë përdorues nuk e kanë.

`/.well-known/` — një skedar te /.well-known/lessonpeak-verifikim.txt. Kjo provon kontroll mbi përmbajtjen e serverit, dhe është e arritshme edhe për dikë që ka vetëm FTP ose një panel të thjeshtë.

Njëra pa tjetrën do të përjashtonte një pjesë të përdoruesve. Mjafton njëra; provohet DNS-ja e para, pastaj skedari.

Të dyja provojnë gjëra pak të ndryshme, dhe kjo është me qëllim: kush kontrollon zonën DNS nuk ka domosdo qasje te serveri, dhe anasjelltas.

Si bëhet

Merr tokenin që të jepet — 64 shenja heksadecimale — dhe vendose në njërën nga dy vendet.

Me DNS TXT:

_lessonpeak-verifikim.shembull.com.  TXT  "lessonpeak-verifikim=<64 hex>"

Regjistrimi pranohet edhe te apex-i i domainit. Vlerat TXT të gjata ndahen nga serverët në copa 255-shenjëshe; ne i bashkojmë pa ndarës para se të krahasojmë, prandaj ndarja nuk të prish asgjë.

Me skedar:

https://shembull.com/.well-known/lessonpeak-verifikim.txt

Përmbajtja: lessonpeak-verifikim=<64 hex>. Skedari duhet të kthejë kod statusi 2xx dhe të jetë nën 4 KiB.

Pas vendosjes, nis verifikimin. Kontrolli bëhet në atë çast, kundrejt DNS-së dhe HTTP-së reale.

Detajet që kanë rëndësi

Marrja e skedarit `.well-known` bëhet me zero ridrejtime. Kjo nuk është kujdes i tepërt: nëse do të lejonim një ridrejtim, atëherë viktima.com/.well-known/… → sulmuesi.com/… do të verifikonte sajtin e dikujt tjetër. Kushdo që mund të vendosë një ridrejtim te një sajt do të merrte kontrollin e tij te ne.

Krahasimi bëhet në kohë konstante, mbi hash-e me gjatësi të njëjtë. Pa këtë, koha e përgjigjes do të rridhte informacion mbi tokenin — edhe vetëm gjatësinë e tij. Dhe krahasimi nuk ndërpritet midis rreshtave, që koha të mos varet nga pozicioni ku gjendet tokeni.

Tokeni skadon pas 30 ditësh. Një token i përjetshëm do të thotë se një domain i shitur mbetet i verifikuar te pronari i vjetër.

Verifikimin e kryen vetë crawler-i, jo radha e punëve. Puna sjell vetëm pretendimin — tokenin që duhet gjetur. Radha nuk është autentikim, dhe nuk trajtohet si e tillë.

Nëse dështon

Rezultati të thotë cila nga dy metodat u provua dhe pse nuk kaloi. Arsyet e mundshme:

  • Nuk ka regjistrim TXT te asnjëri nga dy emrat e provuar.
  • Ka TXT, por pa përputhje — zakonisht një token i vjetër ose i kopjuar gabim.
  • Skedari `.well-known` nuk kthen 2xx — 404, 403, ose një ridrejtim (i cili refuzohet me qëllim).
  • Skedari kthen HTML në vend të tokenit — shumë serverë kthejnë faqen e gabimit me kod 200.

Për DNS-në, prit përhapjen: një regjistrim i ri mund të mos jetë i dukshëm menjëherë, veçanërisht nëse zona ka TTL të gjatë. Ul TTL-në para se ta shtosh, nëse mundesh.

Nëse asnjëra nuk punon dhe je vërtet pronari, shkruaj — kontakti.

Nga u nxor kjo faqe

Çdo pohim më sipër është nxjerrë nga kodi ose nga plani, dhe këtu janë vendet e sakta. Nëse njëri prej tyre nuk përputhet me atë që lexove, faqja është gabim.

  • workers/seo-crawler/src/verifikimi/token.ts:21
  • workers/seo-crawler/src/verifikimi/token.ts:24
  • workers/seo-crawler/src/verifikimi/token.ts:27
  • workers/seo-crawler/src/verifikimi/token.ts:30
  • workers/seo-crawler/src/verifikimi/token.ts:57
  • workers/seo-crawler/src/verifikimi/index.ts:16
  • workers/seo-crawler/src/verifikimi/index.ts:105
  • workers/seo-crawler/src/kontrata.ts:34