TRACIO מנתחת את כתובת ה-IP של כל מבקר בצד השרת. היא מסמנת רשתות VPN, פרוקסי, צמתי יציאה של Tor ומקורות מרכזי נתונים (datacenter), ומפענחת גיאולוקציה ברמת עיר וכן ASN. כל הניתוח מתבצע בצד השרת ללא תלות בצד הלקוח.
ה-IP intelligence מגיע ליישום שלך דרך ה-webhook payload:
אובייקט ה-network (ערכים בוליאניים של VPN/פרוקסי/Tor/datacenter וכן סוג החיבור) ואובייקט
ה-geo (מדינה, עיר, קואורדינטות, אזור זמן, ISP) נמסרים בכל
webhook. ראה Webhooks למבנה ה-payload המלא ולאימות
החתימה.
סיווג VPN, פרוקסי, Tor ומרכז נתונים מפוענח מתוך ה-IP המתחבר
באמצעות מסדי נתונים מסחריים של IP intelligence (IP2Location לסוג VPN/פרוקסי/Tor,
MaxMind לגיאולוקציה ו-ASN). כל אחד מוצג כערך בוליאני יחיד באובייקט
ה-network של ה-webhook — אין פירוט לפי שיטה או ציון ביטחון (confidence score) ב-payload
הציבורי.
| דגל | שדה | משמעות |
|---|---|---|
| VPN | network.vpn | ה-IP שייך לספק VPN מוכר |
| Proxy | network.proxy | ה-IP הוא פרוקסי datacenter או residential |
| Tor | network.tor | ה-IP הוא צומת יציאה מוכר של Tor |
| Datacenter | network.datacenter | ה-IP שייך לספק ענן/אירוח |
{ "network": { "vpn": true, "proxy": false, "tor": false, "datacenter": false, "connectionType": "residential" }}// `payload` is the webhook delivery body (/docs/webhooks)if (payload.network.vpn) { // visitor is connecting through a VPN}פרוקסי datacenter ו-residential מוצגים שניהם כ-network.proxy; מקור datacenter
מדווח בנוסף כ-network.datacenter. הסיווג מגיע
ממסד הנתונים של פרוקסי IP2Location, המכסה את ספקי הענן/האירוח המרכזיים (AWS,
Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr ואחרים).
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "datacenter" }}התאמה של צומת יציאה של Tor על ה-IP המתחבר מוצגת כ-network.tor. בנפרד,
דפדפן ה-Tor Browser עצמו מזוהה בצד הלקוח דרך תצורת האנטי-פינגרפרינטינג שלו
(עמידות canvas/WebGL, אזור זמן UTC, גודל מסך מעוגל) — ראה
Smart Signals.
גיאולוקציה ברמת עיר ו-ASN מפוענחות בצד השרת מתוך ה-IP המתחבר
(MaxMind) ונמסרות באובייקט ה-geo של ה-webhook.
| שדה | סוג | תיאור |
|---|---|---|
geo.country | string | קוד מדינה ISO 3166-1 alpha-2 |
geo.city | string | שם עיר |
geo.lat | number | קו רוחב מקורב |
geo.lon | number | קו אורך מקורב |
geo.timezone | string | מזהה אזור זמן IANA |
geo.isp | string | שם ספק שירותי האינטרנט |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague", "isp": "Comcast Cable" }}התאמה מול רשימות חסימה של IP (IP-blocklist) ומעקב velocity (פעילות חוצת-IP / חוצת-מדינות)
אינם חלק מהחוזה הציבורי הנוכחי. לא ה-webhook payload ולא
הלוח הבקרה חושפים קטגוריות רשימות חסימה או מרווחי velocity. משטח ה-webhook
לסיכוני רשת מוגבל לדגלי ה-network הבוליאניים ולסוג
החיבור; השתמש בהם יחד עם השדות decision ו-bot (ראה
Smart Signals) להחלטות סיכון.
זה קורא ישירות את אובייקט ה-network של ה-webhook payload. ראה
Webhooks ל-payload המלא ולאימות החתימה.
// `payload` is the webhook delivery body (/docs/webhooks)function assessIPRisk(payload: WebhookPayload) { const { vpn, proxy, tor, datacenter } = payload.network
const risks: string[] = [] let riskLevel = "low"
if (tor) { risks.push("Tor exit node") riskLevel = "critical" }
if (vpn) { risks.push("VPN detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (proxy) { risks.push("Proxy detected") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
if (datacenter) { risks.push("Datacenter IP") riskLevel = riskLevel === "low" ? "medium" : riskLevel }
return { riskLevel, risks }}