Kontrollo IP-në dalëse të vëzhguar nga një shtojcë Chrome
Dërgo një kërkesë të kufizuar nga origjina e shtojcës drejt një pike fundore të kontrolluar dhe raporto çfarë vërteton në të vërtetë kontrolli.
Një provë proxy në një shtojcë Chrome kërkon një destinacion me përgjigje të parashikueshme. Përdor një pikë fundore HTTPS që e kontrollon vetë, si një që kthen një objekt të vogël JSON me adresën që vëzhgon.
Ekzekuto kërkesën nga konteksti i shtojcës, si service worker-i ose një faqe e shtojcës, me pikën fundore në host permissions të manifestit:
"host_permissions": ["https://probe.example/*"]
Leja e strežit nuk i jep një content script të njëjtat privilegje ndërorigjine. Mbaje provën në kontekstin e shtojcës në vend që të supozosh se një skript i injektuar mund të bëjë të njëjtën kërkesë.
async function probe() {
const controller = new AbortController();
const timer = setTimeout(() => controller.abort(), 5000);
try {
const response = await fetch('https://probe.example/ip', {
cache: 'no-store',
signal: controller.signal,
});
if (!response.ok) throw new Error(`HTTP ${response.status}`);
const result = await response.json();
if (typeof result.ip !== 'string') throw new Error('Bad probe body');
return result.ip;
} finally {
clearTimeout(timer);
}
}
Emri i strežit është vendmbajtës. Serveri dhe klienti duhet të bien dakord për formatin e përgjigjes dhe politikën e cache-it. Trajto kërkesat e refuzuara dhe përgjigjet e dëmtuara në thirrësin e shtojcës në vend që t'i shfaqësh si adresë e vlefshme dalëse.
Emërto vëzhgimin me saktësi
Një rezultat i suksesshëm vërteton se kjo kërkesë arriti pikën fundore dhe mori formën e pritur të përgjigjes. Krahaso adresën e vëzhguar me rrugën e synuar, aty ku ky krahasim ka kuptim. IP-ja e dëgjimit e proxy-t të konfiguruar nuk duhet të jetë domosdoshmërisht dalja e tij publike.
Një rregull PAC ose një listë anashkalimi mund ta dërgojë provën drejtpërdrejt, ndërsa një destinacion tjetër përdor një proxy. Leximi i cilësimeve të proxy-t ofron dëshmi konfigurimi; kërkesa ofron dëshmi për këtë destinacion. Asnjëra vetëm nuk vërteton se çdo skedë ose URL ndjek të njëjtën rrugë.
Mbaji të ndara në ndërfaqe afatin kohor, gabimin HTTP dhe trupin e papritur. «Ky kontroll dështoi» është më e dobishme sesa të shpallësh të gjithë makinën jashtë linje pas një kërkese.