Kalo te përmbajtja
SEO Analyzer

Siguri

Koka Referrer-Policy

Kontrollon sa nga URL-ja jote i dërgohet sajtit ku shkon vizitori; çështje privatësie më shumë se sigurie.

Çfarë është

Kur një vizitor klikon një lidhje ose kur faqja ngarkon një burim të jashtëm, shfletuesi dërgon kokën Referer që thotë nga cila URL erdhi kërkesa.

Referrer-Policy përcakton sa nga ajo URL dërgohet: e plotë me shteg dhe parametra, vetëm origjina, ose asgjë.

Parazgjedhja e shfletuesve modernë është strict-origin-when-cross-origin: URL e plotë brenda të njëjtit sajt, vetëm origjina drejt sajteve të tjera, asgjë kur kalon nga HTTPS te HTTP. Kjo parazgjedhje është e arsyeshme — prandaj mungesa e kokës sot nuk është problem i rëndë.

Pse ka rëndësi

Rreziku është rrjedhja e informacionit përmes URL-së. Nëse shtigjet e sajtit tënd përmbajnë të dhëna — /pacienti/4417/rezultatet, /rikthim-fjalekalimi?token=abc — atëherë çdo lidhje dalëse dhe çdo burim i jashtëm e dërgon atë URL te dikush tjetër.

Rasti më i rëndë dhe i dokumentuar është tokeni i rivendosjes së fjalëkalimit në URL: nëse ajo faqe ngarkon një skedar nga një CDN ose një pikselë analitike, tokeni shkon te pala e tretë në kokën Referer.

Për shumicën e sajteve publike pasoja është më e butë: partnerët dhe shërbimet analitike mësojnë saktësisht cilat faqe po shikohen.

Anasjelltas, një politikë tepër e rreptë ka kosto: no-referrer e prish atribuimin e trafikut, dhe partnerët nuk e dinë më se prej teje erdhi vizitori.

Si rregullohet

# zgjedhja e ekuilibruar — e njëjta si parazgjedhja moderne
Referrer-Policy: strict-origin-when-cross-origin

# për faqe me të dhëna të ndjeshme në URL
Referrer-Policy: no-referrer

Hapat:

  • Mos vendos të dhëna të ndjeshme në URL. Kjo e zgjidh problemin te rrënja; koka është shtresa e dytë.
  • `strict-origin-when-cross-origin` si parazgjedhje për gjithë sajtin.
  • `no-referrer` vetëm te faqet e ndjeshme, me kokë për rrugë të veçantë ose me atribut referrerpolicy te lidhja.
  • Shmang `unsafe-url`, që dërgon gjithnjë URL-në e plotë, edhe drejt HTTP.
  • Testo atribuimin analitik pas ndryshimit; një politikë e rreptë e zhduk atë.

Si e mat ky mjet

SecurityAnalyzer::checkSecurityHeaders() (services/SecurityAnalyzer.php:90) kalon nëpër një tabelë me gjashtë koka (:92–99). Rreshti për këtë kokë është services/SecurityAnalyzer.php:97.

Për secilën kontrollohet vetëm nëse çelësi referrer-policy ekziston te kokat e përgjigjes dhe nuk është bosh (:103). Kur ekziston, jepet konstatim i kaluar me vlerën e plotë të kokës (:105); kur mungon, jepet konstatim me tekstin e ndreqjes (:109).

Kjo kokë është në grupin e lehtë: mungesa e saj jep konstatim informativ me ndikim mesatar (services/SecurityAnalyzer.php:107).

Çfarë NUK e mat

Kontrolli mat praninë e kokës, jo vlerën e saj. Çdo vlerë, sado e dobët ose e pakuptimtë, kalon si e rregullt — kjo është kufizimi kryesor dhe vlen për të gjashtë kokat e sigurisë.

Për këtë kokë kufizimi është veçanërisht i dukshëm: Referrer-Policy: unsafe-url — politika më e rrezikshme e mundshme, që dërgon gjithnjë URL-në e plotë — raportohet si e vendosur dhe kontrolli kalon, ndërsa mungesa e kokës raportohet si problem ndonëse parazgjedhja e shfletuesit është më e sigurt se unsafe-url.

Pra në këtë rast një sajt pa kokë mund të jetë vërtet më i sigurt se një me kokë, dhe raporti thotë të kundërtën.

Nuk lexohet as <meta name="referrer">, as atributet referrerpolicy te lidhjet e veçanta.

Mospërputhje midis tekstit të analizuesit dhe matjes

Kjo faqe ndjek matjen, jo tekstin që prodhon analizuesi.
Teksti i analizuesitÇfarë ndodhSi u matBurimi
Referrer-Policy is setVlera nuk lexohet. Politika më e rrezikshme kalon, ndërsa mungesa — ku parazgjedhja e shfletuesit është më e sigurt — raportohet si problem.Kushti te :103 është `!empty($headers[$header])` për të gjashtë kokat.matur gjatë 5.10services/SecurityAnalyzer.php:103

Kodi që e kryen matjen

  • services/SecurityAnalyzer.php:90SecurityAnalyzer::checkSecurityHeaders
  • services/SecurityAnalyzer.php:97referrer-policy

Standardi