TRACIO, her ziyaretçinin IP adresini sunucu tarafında analiz eder. VPN'leri, proxy'leri, Tor çıkış düğümlerini ve veri merkezi kaynaklarını işaretler; şehir düzeyinde coğrafi konumu ve ASN bilgisini çözümler. Tüm analiz, istemci tarafı bağımlılığı olmadan sunucu tarafında çalışır.
IP intelligence, uygulamanıza webhook yükü üzerinden ulaşır: network
nesnesi (VPN/proxy/Tor/veri merkezi boolean değerleri ve bağlantı türü) ile
geo nesnesi (ülke, şehir, koordinatlar, saat dilimi, ISP) her webhook ile
teslim edilir. Tam yük yapısı ve imza doğrulaması için Webhooks
sayfasına bakın.
VPN, proxy, Tor ve veri merkezi sınıflandırması, bağlanan IP üzerinden ticari IP
intelligence veritabanları kullanılarak çözümlenir (VPN/proxy/Tor türü için IP2Location,
coğrafi konum ve ASN için MaxMind). Her biri, webhook network nesnesinde tek bir boolean
olarak sunulur — genel yükte yönteme göre bir ayrıntı dökümü veya güven puanı bulunmaz.
| Bayrak | Alan | Anlamı |
|---|---|---|
| VPN | network.vpn | IP, bilinen bir VPN sağlayıcısına aittir |
| Proxy | network.proxy | IP, bir veri merkezi veya konut proxy'sidir |
| Tor | network.tor | IP, bilinen bir Tor çıkış düğümüdür |
| Veri merkezi | network.datacenter | IP, bir bulut/barındırma sağlayıcısına aittir |
{ "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}Veri merkezi ve konut proxy'lerinin ikisi de network.proxy olarak sunulur; veri merkezi
kaynağı ayrıca network.datacenter olarak bildirilir. Sınıflandırma, büyük bulut/barındırma
sağlayıcılarını (AWS, Google Cloud, Azure, Oracle Cloud, Alibaba Cloud, DigitalOcean, Hetzner, OVH,
Linode/Akamai, Vultr ve diğerlerini) kapsayan IP2Location proxy veritabanından gelir.
{ "network": { "vpn": false, "proxy": true, "tor": false, "datacenter": true, "connectionType": "datacenter" }}Bağlanan IP üzerindeki bir Tor çıkış düğümü eşleşmesi network.tor olarak sunulur. Bundan ayrı olarak,
Tor Browser tarayıcısının kendisi, anti-fingerprinting yapılandırması aracılığıyla istemci tarafında
tespit edilir (canvas/WebGL direnci, UTC saat dilimi, yuvarlanmış ekran boyutu) — bkz.
Smart Signals.
Şehir düzeyinde coğrafi konum ve ASN, bağlanan IP'den sunucu tarafında çözümlenir
(MaxMind) ve webhook geo nesnesinde teslim edilir.
| Alan | Tür | Açıklama |
|---|---|---|
geo.country | string | ISO 3166-1 alpha-2 ülke kodu |
geo.city | string | Şehir adı |
geo.lat | number | Yaklaşık enlem |
geo.lon | number | Yaklaşık boylam |
geo.timezone | string | IANA saat dilimi tanımlayıcısı |
geo.isp | string | İnternet servis sağlayıcısı adı |
{ "geo": { "country": "CZ", "city": "Prague", "lat": 50.05, "lon": 14.4, "timezone": "Europe/Prague", "isp": "Comcast Cable" }}IP kara liste eşleştirmesi ve velocity (IP'ler arası / ülkeler arası etkinlik) takibi,
mevcut genel sözleşmenin bir parçası değildir. Ne webhook yükü ne de
kontrol paneli kara liste kategorilerini veya velocity aralıklarını açığa çıkarır. Ağ riski için
webhook yüzeyi, boolean network bayrakları ve bağlantı türüyle sınırlıdır; risk kararları
için bunları decision ve bot alanlarıyla (bkz.
Smart Signals) birlikte kullanın.
Bu, webhook yükünün network nesnesini doğrudan okur. Tam yük ve imza doğrulaması için
Webhooks sayfasına bakın.
// `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 }}