Salt la conținut

Ghid pentru URL și UTM

Ghid de instrument. Actualizat .

Cum împarte URL și UTM de la XGM o adresă în părțile ei și în interogarea decodificată, cum construiește linkuri UTM și cum arată problemele de codificare.

Anatomia unui URL

Un URL cu toate părțile
https://user:pass@shop.example.com:8443/products/shoes?color=blue&size=42#reviews
└─┬─┘   └───┬───┘ └──────┬───────┘ └┬─┘└─────┬───────┘ └───────┬────────┘ └──┬──┘
scheme  credentials     host       port    path            query          fragment
Componentele unui URL
ParteExempluSemnificație
Protocol (schemă)https:Cum se accesează resursa
Nume de utilizator și parolăuser:pass@Credențiale înglobate în URL; rare și nerecomandate
Nume de gazdăshop.example.comServerul; decide unde ajunge cererea
Port8443Omis când este cel implicit al schemei (443 pentru HTTPS, 80 pentru HTTP)
Cale/products/shoesResursa de pe server
Interogare?color=blue&size=42Parametri sub formă de perechi cheie=valoare
Fragment#reviewsO poziție în pagină; nu este trimis niciodată serverului
Originehttps://shop.example.com:8443Schema, gazda și portul la un loc; granița de securitate a browserului
Cum vă citește parserul adresa introdusăAdresei i se adaugă https:// dacă nu are schemă, este analizată cu implementarea URL a browserului și este arătată pe părți, plus un tabel cu parametrii interogării, decodificați.Adresa introdusăUn URL complet sau doar o gazdă și o cale,precum example.com/pricingAdaugă schema dacă lipseșteSe presupune https://; mailto:, tel:, data: șiurn: sunt păstrateAnaliză cu API-ul URLAceleași reguli WHATWG URL pe care le folosescbrowserelePărțiProtocol, nume de utilizator, parolă mascată,gazdă, port, cale, interogare, fragment,origineParametrii interogăriiFiecare cheie și valoare, decodificate
Adresei i se adaugă https:// dacă nu are schemă, este analizată cu implementarea URL a browserului și este arătată pe părți, plus un tabel cu parametrii interogării, decodificați.

Cum analizați un URL

  1. Deschideți URL și UTM și lipiți o adresă.
  2. Citiți tabelul cu părțile componente; o parolă aflată în URL este mascată la afișare.
  3. Verificați tabelul parametrilor de interogare pentru fiecare cheie și valoarea ei decodificată.
  4. Copiați ce vă trebuie sau continuați cu generatorul UTM ori cu Encoderul URL.

Analiza se face în browserul dumneavoastră. Linkurile lungi de urmărire conțin adesea adrese de e-mail, identificatori de sesiune sau tokenuri în parametri, așa că instrumentul nu le trimite nicăieri. Adresa lipită nu ajunge la serverul XGM și nu este scrisă în bara de adrese, iar un link pe care îl partajați poartă doar modul.

Construirea linkurilor de campanie UTM

Al doilea mod al instrumentului URL și UTM construiește linkuri de campanie. Instrumentele de analiză citesc cinci parametri: utm_source (de unde a venit vizitatorul, de exemplu newsletter), utm_medium (canalul, precum email sau cpc), utm_campaign (numele pe care îl dați campaniei) și, opțional, utm_term și utm_content. Primii trei sunt așteptați pe fiecare link etichetat. Când unul lipsește, traficul se adună în rapoarte ca vizită directă sau ca sursă neidentificată.

Generatorul păstrează parametrii de interogare existenți, codifică valorile și avertizează pentru spații și litere mari, pentru că instrumentele de analiză tratează Newsletter și newsletter ca surse diferite. Presetările completează valorile obișnuite pentru un newsletter, o postare pe LinkedIn și un link Google Ads. Un tipar de scriere ținut la fel de la un capăt la altul face mai ușoară compararea rapoartelor peste câteva luni.

URL de campanie
https://example.com/pricing?utm_source=newsletter&utm_medium=email&utm_campaign=september-launch

Șiruri de interogare și codificare

Parametrii de interogare sunt separați prin &, iar cheile de valori prin =. Caracterele cu înțeles special, precum &, =, #, + și spațiul, trebuie codificate procentual în interiorul valorilor: un spațiu devine %20 (sau + în codificarea de formular), iar & devine %26. Parserul arată valorile decodificate, așa că name=Ana%20Pop apare ca Ana Pop. Șirul de interogare brut rămâne pe un rând separat, ca să puteți compara cele două perspective și să vedeți unde s-a stricat codificarea.

Probleme de codificare pe care le puteți observa
Ce vedețiCauza
Valoarea unui parametru este tăiată la &Un & necodificat din valoare a pornit un parametru nou
%2520 în URLO valoare a fost codificată de două ori (% codificat ca %25)
+ unde ar trebui un spațiu, sau inversCodificarea de formular s-a amestecat cu codificarea procentuală
Aceeași cheie apare de mai multe oriEste permis; multe framework-uri o citesc ca listă, altele iau prima sau ultima valoare
Textul de după # lipsește pe serverFragmentele nu sunt trimise niciodată în cererile HTTP

Encoderul URL codifică și decodifică valori individuale, fie cu regulile pentru o componentă, fie cu cele pentru un URI complet, și este instrumentul potrivit când construiți adrese de mână. Compararea unei valori înainte și după codificare este cea mai rapidă cale de a scoate la iveală un șir codificat de două ori.

Linkurile de phishing mizează pe faptul că oamenii citesc partea greșită dintr-un URL. Numele gazdei este singura parte care decide la ce server ajungeți, iar în interiorul lui domeniul înregistrat este format din ultimele etichete dinaintea domeniului de nivel superior. Tot restul poate fi făcut să pară oficial. Și calea, și interogarea, și chiar textul vizibil al linkului sunt alese de atacator.

Tipare înșelătoare
LinkGazda realăȘmecheria
https://example.com.login.example.net/example.com.login.example.netNumele de încredere este un subdomeniu al altui domeniu
https://example.com@example.net/example.netTextul dinaintea lui @ este un nume de utilizator, nu gazda
https://example.net/example.com/loginexample.netNumele de încredere apare doar în cale
https://examp1e.com/examp1e.comCaractere care seamănă între ele
https://xn--exmple-cua.com/Punycode pentru un nume cu o literă non-ASCIIDomeniu internaționalizat care imită altul

Nu deschideți un link ca să îl verificați

Lipiți linkurile suspecte în parser în loc să faceți clic pe ele. Dacă gazda reală nu este organizația la care vă așteptați, raportați mesajul în loc să vizitați pagina.

Pentru linkurile care redirecționează, parserul arată doar primul URL. Verificatorul de redirecționări urmărește lanțul de redirecționări al unui domeniu de pe serverul XGM, iar WHOIS arată când a fost înregistrat domeniul, ceea ce pentru domeniile de phishing este adesea foarte recent. Un domeniu înregistrat acum câteva zile nu este o dovadă în sine, dar este un semn suficient ca să priviți restul mesajului cu mai multă atenție.

Parametri de urmărire și confidențialitate

Multe linkuri poartă parametri care nu au nicio legătură cu conținutul paginii: etichete de campanie precum utm_source și utm_campaign, identificatori de clic adăugați de platformele de publicitate și identificatori specifici e-mailului, care leagă un clic de un anumit destinatar. Tabelul cu parametri îi face ușor de văzut. Ștergerea lor înainte de a partaja un link ține propria dumneavoastră activitate și identitatea destinatarului inițial în afara analizelor altora.

Parametri obișnuiți
ParametruScop
utm_source, utm_medium, utm_campaignAtribuirea campaniei în instrumentele de analiză
utm_term, utm_contentAtribuirea cuvântului-cheie și a variantei de anunț
Identificatori de clic de la platformele de publicitateLegarea unei vizite de un anumit clic pe un anunț
Parametri de sesiune sau de tokenAutentificare ori stare; nu partajați niciodată linkuri care îi conțin

Dacă publicați chiar dumneavoastră linkuri de campanie, construiți-le consecvent cu generatorul UTM. Valorile cu litere mici și o schemă de denumire fixă păstrează rapoartele curate, pentru că majoritatea instrumentelor tratează Email și email ca surse diferite. Aceeași regulă se aplică numelor de campanie: un tipar scurt, care conține data sau canalul, vă amintește peste luni de zile de unde venea fiecare link.

Analiza URL-urilor în cod

Folosiți parserul de URL al platformei, în locul expresiilor regulate sau al împărțirii șirurilor. Cazurile limită, precum credențialele, gazdele IPv6 între paranteze drepte, porturile implicite și caracterele codificate, strică parserele scrise de mână, iar analiza inconsecventă între componente a produs multe erori de securitate, de exemplu în listele de redirecționări permise. Când două parsere citesc diferit aceeași adresă, tocmai acolo caută atacatorul o breșă.

API-ul URL în JavaScript
const url = new URL("https://shop.example.com/products?color=blue&size=42");
url.hostname;                 // "shop.example.com"
url.searchParams.get("size"); // "42"
url.searchParams.set("size", "43");
url.toString();               // "https://shop.example.com/products?color=blue&size=43"

Când validați ținte de redirecționare sau origini permise, comparați exact valoarea origin ori hostname analizată cu o listă de adrese permise. Verificări precum startsWith("https://example.com") acceptă și https://example.com.example.net, ceea ce este o greșeală clasică de tip open redirect. Când construiți interogări, folosiți URLSearchParams, ca valorile să fie codificate corect de la sine.

Întrebări frecvente

Este URL-ul trimis către XGM?

Nu. Analiza folosește implementarea URL a browserului dumneavoastră și nimic nu este încărcat. Adresa nu este cerută, pagina din spatele ei nu este încărcată și nicio redirecționare nu este urmărită.

Ce se întâmplă dacă lipesc un URL fără https://?

Parserul presupune https://, așa că valori precum example.com/pricing funcționează. Scheme precum mailto: și tel: sunt păstrate ca atare.

De ce nu apare fragmentul în jurnalele serverului meu?

Browserele nu trimit niciodată serverului partea de după #. Ea este folosită doar de pagina în sine.

Ce este originea?

Combinația dintre schemă, gazdă și port. Browserele o folosesc pentru politica same-origin, pentru regulile de domeniu ale cookie-urilor și pentru CORS. Dacă se schimbă chiar și una dintre cele trei părți, originea devine alta.

De ce este portul afișat ca implicit?

URL-ul folosește portul standard al schemei sale, 443 pentru HTTPS sau 80 pentru HTTP, așa că niciun număr de port nu este scris în adresă.

Poate un URL să conțină o parolă?

Sintaxa permite user:password@host, dar browserele avertizează în privința ei, iar scrierea aceasta expune credențialele în jurnale și în istoric. Parserul maschează parola la afișare.

De ce apar unii parametri de două ori?

O cheie poate fi repetată într-un șir de interogare. Felul în care serverul interpretează repetările depinde de framework: unele adună valorile într-o listă, altele iau prima sau ultima valoare.

Ce este Punycode?

O codificare ASCII pentru numele de domeniu internaționalizate, care începe cu xn--. Browserele pot arăta oricare dintre forme; parserul arată numele gazdei așa cum îl returnează API-ul URL.

Care este diferența dintre un URL și un URI?

Un URI identifică o resursă; un URL este un URI care spune și cum poate fi găsită, de exemplu cu https:. În utilizarea zilnică a webului, cei doi termeni sunt folosiți unul în locul celuilalt.

Poate un nume de gazdă să fie o adresă IP?

Da. Adresele IPv4 apar ca atare, iar adresele IPv6 apar între paranteze drepte, de exemplu https://[2001:db8::1]/. Linkurile cu adrese IP brute sunt neobișnuite pentru site-urile normale și merită o a doua privire.

Cum construiesc un URL de campanie?

Folosiți generatorul UTM, care adaugă parametrii utm_source, utm_medium și utm_campaign cu codificarea corectă. Parametrii existenți ai paginii de destinație sunt păstrați, iar câmpurile lăsate goale nu sunt scrise în link.

Surse