Teknike
Teknologjitë e zbuluara të sajtit
Cilat korniza, biblioteka dhe shërbime përdor faqja; zbulim nga gjurmë në HTML dhe në koka.
Çfarë është
Ky kontroll nuk gjykon asgjë. Ai liston çfarë teknologjish u njohën nga gjurmët e tyre: sistemi i menaxhimit të përmbajtjes, kornizat JavaScript, bibliotekat e stileve, mjetet e analitikës, serveri.
Zbulimi bëhet nga shenja publike: emra skedarësh, klasa CSS karakteristike, koka të serverit, komente të gjeneruara. Asgjë nuk skanohet dhe asgjë nuk provohet.
Rezultati është përshkrim, jo vlerësim. Një sajt me WordPress nuk është më i mirë apo më i keq se një me Next.js.
Pse ka rëndësi
Përdorimi kryesor është diagnostikues. Kur sheh se faqja ngarkon tri biblioteka të ndryshme që bëjnë të njëjtën punë, e di ku të kërkosh peshë të tepërt.
Përdorimi i dytë është siguria e mirëmbajtjes: një version i vjetër i një biblioteke të njohur është një dobësi e njohur publikisht. Kur mjeti zbulon një version, kontrollo nëse ai ka njoftime sigurie të hapura.
Dhe këtu është ana tjetër që duhet thënë hapur: kjo listë është e dobishme edhe për një sulmues. Deklarimi i versionit të CMS-së dhe të serverit te kokat dhe te komentet i thotë kujtdo se cilat dobësi t'i provojë të parat.
Pra rekomandimi që del nga ky kontroll nuk është "ndrysho teknologjinë", por: hiq nga faqja shenjat që deklarojnë versione, dhe mbaji ato versione të përditësuara.
Si rregullohet
- Hiq deklarimet e versionit nga kokat dhe nga etiketat meta: ``
nginx server_tokens off;`` - Hiq gjeneratorin nëse CMS-ja e shton:
<meta name="generator" content="...">. - Përditëso çdo varësi, veçanërisht ato me njoftime sigurie të hapura.
- Hiq atë që nuk përdoret. Shumë sajte ngarkojnë biblioteka të mbetura nga një temë e vjetër.
- Mos ngarko dy biblioteka për të njëjtën punë.
- Rishiko skriptet e palëve të treta — secili është kod i huaj që xhiron me të drejtat e faqes sate.
Si e mat ky mjet
TechStackDetector::detect() (services/TechStackDetector.php:93) bashkon HTML-në me kokat në një varg të vetëm me shkronja të vogla (:97), pastaj kalon nëpër një tabelë gjurmësh të grupuara sipas kategorisë (:99).
Për çdo teknologji numërohet sa gjurmë përputhen, dhe besueshmëria llogaritet si raport i gjurmëve të gjetura ndaj atyre të mundshme (:108). Versioni nxirret me detectVersion() (:139), serveri me detectServer() (:159).
Lista renditet sipas besueshmërisë me një sort të qëndrueshëm (:130).
Çfarë NUK e mat
Zbulimi është kërkim nënvargu mbi tekstin e bashkuar. Kjo prodhon rezultate të rreme: një emër teknologjie i përmendur brenda një komenti, brenda një teksti, ose brenda një URL-je të palidhur, numërohet si përputhje.
Besueshmëria është raport gjurmësh, jo probabilitet. Një teknologji me një gjurmë të vetme në listë merr besueshmëri 1,0 sapo ajo gjurmë gjendet një herë.
Versionet nxirren nga shenja publike dhe shpesh janë të pasakta — shumë sajte i fshehin ose i falsifikojnë me qëllim.
Matet vetëm dokumenti kryesor; teknologjitë e ngarkuara nga JavaScript-i pas ndezjes nuk shihen.
Kujdes teknik për riprodhueshmërinë: renditja mbështetet te qëndrueshmëria e sortit të PHP-së (services/TechStackDetector.php:130). Teknologjitë me të njëjtën besueshmëri dalin në rendin e zbulimit; një zbatim me sort jo të qëndrueshëm do të jepte rend tjetër pa ndryshuar asnjë kuptim (MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.7).
Mospërputhje midis tekstit të analizuesit dhe matjes
| Teksti i analizuesit | Çfarë ndodh | Si u mat | Burimi |
|---|---|---|---|
| (rendi i teknologjive te raporti) | Teknologjitë me të njëjtën besueshmëri dalin në rendin e zbulimit; një sort jo i qëndrueshëm do të jepte rend tjetër pa ndryshim kuptimi. | Fikstura 20 mbulon gjashtë teknologji njëkohësisht. — MASTER_PLAN/audits/61-ANALIZUESIT-INVENTAR.md §4.7 | services/TechStackDetector.php:130 |
Kodi që e kryen matjen
services/TechStackDetector.php:93— TechStackDetector::detectservices/TechStackDetector.php:130— usortservices/TechStackDetector.php:139— TechStackDetector::detectVersion