Anti-fraud ekipleri ve scraping mühendisleri için IP itibarı ve dolandırıcılık puanlaması nasıl çalışır (IPQualityScore) sorusu, 2026'da her zamankinden daha kritik. Bir IP adresinin arkasının gerçek bir kullanıcı mı yoksa bir bot ağı mı olduğunu belirlemek, artık basit bir IP kara listesi kontrolünden çok daha karmaşık bir süreç. IPQualityScore (IPQS) gibi servisler, onlarca sinyali birleştirerek 0-100 arası bir dolandırıcılık puanı üretiyor ve bu puan, login, checkout ve signup akışlarında kapı görevi görüyor.
Bu makalede, bir fraud score'un nasıl inşa edildiğini, proxy tespit sinyallerini, eşik değerlerinin nasıl çalıştığını ve residential proxy'lerin neden datacenter IP'lere göre çok daha düşük puan aldığını teknik detaylarıyla inceleyeceğiz. Sonunda, ProxyHat residential çıkışlarını IPQS API'sine karşı test eden çalışan bir Python örneği de olacak.
IP İtibarı ve Dolandırıcılık Puanlaması Nasıl Çalışır (IPQualityScore)?
IPQualityScore, bir IP adresine 0 ile 100 arasında bir IP dolandırıcılık puanı (fraud score) atar. 0, "tamamen temiz" anlamına gelir; 100, "neredeyse kesinlikle kötü niyetli" demektir. Bu puan, birden fazla veri kaynağından gelen sinyallerin ağırlıklı bir kombinasyonudur:
- Honeypot ve tuzak verileri: IP'nin daha önce bilinen tuzak sistemlerle etkileşime girip girmediği.
- ASN/range sınıflandırması: IP'nin bir ISP'ye mi yoksa bir hosting/datacenter sağlayıcısına mı ait olduğu.
- Kara listeler: Spamhaus, AbuseIPDB ve diğer küresel tehdit istihbarat kaynakları.
- Makine öğrenmesi: Davranışsal anomali tespiti ve geçmiş kötüye kullanım örüntüleri.
- Canlı adli kontroller: Açık portlar, rDNS kayıtları, VPN/Tor çıkış node'u olup olmadığı.
IPQS, bu sinyalleri birleştirerek sadece "bu IP şu anda proxy mi?" sorusunu değil, "bu IP son 30 günde ölçeklenebilir kötüye kullanıma karıştı mı?" sorusunu da yanıtlar. Bu, IPQS proxy detection API dokümantasyonuna göre proxy, VPN, Tor ve bot status gibi ayrı boolean alanlarla birlikte gelir.
Teknik Bağlam: Bu Sorun Neden Var?
Modern web uygulamaları, her gün milyonlarca otomatik isteğe maruz kalıyor. Credential stuffing, fiyat scraping, sahte hesap oluşturma, kredi kartı testi (carding) ve envanter botlama — hepsi bir IP adresinden başlıyor. Anti-fraud sistemleri, trafiğin kaynağını sınıflandırmak için IP katmanında ilk filtreleme yapıyor.
Sorun şu: bir IP adresi tek başına bir kullanıcının kim olduğunu söyleyemez. Ama IP'nin türünü, geçmiş davranışını ve ağ özelliklerini söyleyebilir. IPQS gibi servisler, bu sinyalleri toplayıp puanlayan bir katman oluşturur. Wikipedia'nın IP reputation tanımına göre, IP itibarı bir adresin geçmiş davranışlarına dayanan ve gelecekteki riski tahmin eden bir güvenlik metriğidir.
2026'da bu daha da karmaşık hale geldi çünkü TLS parmak izi (JA3/JA4), canvas fingerprinting ve davranışsal analitik gibi daha üst katman sinyalleri de IP puanlamasıyla birleştiriliyor. Bir IP'nin fraud score'u yüksekse, site JA3 hash'i ne kadar mükemmel olursa olsun isteği reddedebilir.
0-100 Dolandırıcılık Puanı Nasıl Oluşturulur?
Honeypot'lar ve Tuzaklar
IPQS, internete dağıtılmış honeypot'lar ve tuzak formlar çalıştırır. Bu sistemler, bot'ların ve fraud araçlarının otomatik olarak keşfettiği ve etkileşime girdiği sahte hedeflerdir. Bir IP honeypot'lara sürekli istek gönderiyorsa, bu "scalable abuse" örüntüsü olarak işaretlenir ve fraud score'u doğrudan yükselir. Bu sinyal özellikle datacenter IP'lerde yoğunlaşır çünkü bot ağları genellikle ucuz VPS'lerden çalışır.
ASN ve IP Aralığı Sınıflandırması
Her IP adresi bir Autonomous System Number'a (ASN) aittir. IPQS, ASN'yi üç ana kategoriye ayırır:
- ISP (İnternet Servis Sağlayıcı): Comcast, AT&T, Türk Telekom gibi ev/kurumsal kullanıcılara IP dağıtan sağlayıcılar. Bu IP'ler genellikle "residential" olarak sınıflandırılır.
- Hosting/Datacenter: AWS, DigitalOcean, Hetzner, OVH gibi bulut ve sunucu sağlayıcıları. Bu IP'ler otomatik olarak daha yüksek risk puanı alır.
- Mobil: T-Mobile, Vodafone gibi mobil operatörler. Genellikle orta-düşük risk.
Bir IP'nin ASN'i hosting sağlayıcısına aitse, IPQS bunu güçlü bir proxy/VPN sinyali olarak kullanır. Bu, datacenter proxy'lerin temel zayıflığıdır.
Kara Listeler ve Makine Öğrenmesi
IPQS, Spamhaus, AbuseIPDB ve kendi iç kara listelerini sürekli tarar. Ayrıca makine öğrenmesi modelleri, bir IP'nin son 30-90 gün içindeki istek hacmini, hata oranlarını ve davranışsal örüntülerini analiz eder. Bir IP, kısa sürede yüzlerce farklı siteye login denemesi yaptıysa, model bunu credential stuffing olarak sınıflandırır.
Makine öğrenmesi katmanı ayrıca "scalable abuse" örüntülerini tanır: aynı IP'nin birden fazla hesap oluşturma denemesi, hızlı checkout denemeleri veya anormal sepet davranışları. Bu sinyaller, gerçek zamanlı olarak fraud score'a yansır.
Canlı Adli Kontroller
Statik verilere ek olarak, IPQS canlı adli kontroller yapar:
- Açık port taraması: SOCKS, HTTP proxy veya SSH portlarının açık olup olmadığı.
- rDNS (Reverse DNS): IP'nin geri DNS kaydının bir hostname'e işaret edip etmediği ve bu hostname'in mantıklı olup olmadığı. Örneğin,
host-192-168-1-1.aws.combir datacenter IP'sine işaret ederken,cpe-72-178-xx-xx.res.rr.combir residential IP'ye işaret eder. - VPN/Tor çıkış node kontrolü: IP'nin bilinen VPN sağlayıcılarına veya Tor çıkış node listesine ait olup olmadığı.
- Geolocation doğrulaması: IP'nin bildirilen konumu ile gerçek bağlantı noktası arasındaki tutarlılık.
Proxy Tespiti Sinyalleri — IPQualityScore Ne Arar?
IPQualityScore proxy tespiti, bir IP'nin proxy/VPN/Tor olup olmadığını belirlemek için şu temel sinyalleri kullanır:
| Sinyal | Açıklama | Residential IP'de | Datacenter IP'de |
|---|---|---|---|
| ASN Türü | ISP vs Hosting/Datacenter | ISP (temiz) | Hosting (şüpheli) |
| Açık Portlar | SOCKS/HTTP proxy portları | Genelde kapalı | Sık açık |
| rDNS Kaydı | Geri DNS hostname'i | ISP hostname (örn. cpe-...) | Sunucu hostname'i (örn. node-...) |
| Geolocation | Konum tutarlılığı | Tutarlı (şehir düzeyinde) | Sık tutarsız veya genel |
| Bağlantı Türü | Residential/Mobile/Corporate/Datacenter | Residential | Datacenter |
| Son Köttüye Kullanım | d>recent_abuse alanıGenelde false | Sık true |
Bu sinyallerden her biri tek başına kesin bir karar vermez. IPQS, bunları ağırlıklı bir modelde birleştirir. Örneğin, bir IP'nin ASN'si hosting sağlayıcısına aitse ama rDNS kaydı temizse ve honeypot etkileşimi yoksa, fraud score yine de 75+ çıkabilir çünkü ASN sinyali yüksek ağırlığa sahiptir.
Buna ek olarak, IPQS connection_type alanını döndürür: "Residential", "Corporate", "Education", "Mobile" veya "Datacenter". Bu alan, anti-fraud sistemleri için birincil filtre olarak kullanılır — birçok site doğrudan "Datacenter" bağlantı türünü engeller.
Eşik Değerleri Neden Önemlidir?
IPQS, fraud score >= 75 için "yüksek risk" ve >= 90 için "çok yüksek risk — engelle" önerir. Bu eşik değerleri, sitenin risk toleransına göre ayarlanır:
- Score 0-30: Düşük risk. Çoğu akışta engellenmez.
- Score 31-74: Orta risk. Challenge (CAPTCHA, e-posta doğrulama) gerekebilir.
- Score 75-89: Yüksek risk. Login/checkout'ta engelleme veya manuel inceleme.
- Score >= 90: Çok yüksek risk. IPQS önerisi: doğrudan engelle.
Siteler bu eşikleri farklı akışlarda farklı şekilde uygular. Örneğin, signup akışında score >= 75 bir CAPTCHA tetiklerken, checkout akışında aynı score doğrudan ödeme engeli olabilir. Login akışında ise score >= 90, hesabı kilitleyip e-posta doğrulaması isteyebilir.
Anti-fraud ekipleri genellikle strictness parametresini ayarlar. IPQS API'sinde strictness 0 (en gevşek) ile 3 (en katı) arasında ayarlanabilir. Strictness 1, çoğu e-ticaret sitesi için dengeli bir başlangıç noktasıdır.
Residential Proxy'ler Neden Geçer?
Tüm detection zorluğu şu gerçeğe dayanır: gerçek bir ISP tarafından bir haneye atanmış IP adresi, doğası gereği temiz bir profile sahiptir.
Bir ProxyHat residential proxy çıkış IP'si şöyle görünür:
- ASN: Bir ISP'ye ait (örneğin Comcast, AT&T). Hosting sağlayıcı değil.
- rDNS: ISP hostname'i (örneğin
72-178-xx-xx.cpe.res.rr.com). Sunucu hostname'i değil. - Geolocation: Şehir düzeyinde tutarlı. IP, ev internet bağlantısının bulunduğu şehre işaret eder.
- Açık portlar: Ev router'ı arkasında olduğundan, SOCKS/HTTP proxy portları kapalıdır.
- Son kötüye kullanım: recent_abuse = false. IP, daha önce büyük ölçekli bot aktivitesine karışmamıştır.
- Bağlantı türü: Residential.
Sonuç: IPQS bu IP için 0-15 arası bir fraud score üretir. Bu, residential proxy detection'ın neden zor olduğunu açıklar — IP, teknik olarak gerçek bir kullanıcının IP'sinden ayırt edilemez çünkü gerçek bir kullanıcının IP'sidir.
Buna karşılık, bir datacenter IP'si şöyle görünür:
- ASN: AWS, DigitalOcean veya benzeri bir hosting sağlayıcısı.
- rDNS:
ec2-xx-xx-xx-xx.compute-1.amazonaws.comgibi sunucu hostname'i. - Açık portlar: Sıkça 80, 443, 1080, 3128 gibi portlar açık.
- Geolocation: Genelde veri merkezi konumu. Kullanıcının iddia ettiği konumla tutarsız.
- Son kötüye kullanım: Datacenter IP'ler binlerce farklı kullanıcı tarafından paylaşılır ve sıkça kara listeye alınır.
Sonuç: IPQS bu IP için 85-100 arası bir fraud score üretir. proxy = true, vpn = true, connection_type = "Datacenter".
Çalışan Örnek: ProxyHat Residential vs Datacenter IPQS Testi
Aşağıdaki Python kodu, hem bir ProxyHat residential çıkış IP'sini hem de bir datacenter IP'sini IPQS proxy detection API'sine karşı test eder. Bu, kendi IP kalitenizi doğrulamak için kullanabileceğiniz meşru bir test yöntemidir.
import requests
# IPQS API anahtarı (kendi anahtarınızı kullanın)
IPQS_API_KEY = "your_ipqs_api_key"
# --- Adım 1: ProxyHat residential çıkış IP'sini al ---
proxyhat_proxies = {
"http": "http://user-country-US:YOUR_PASSWORD@gate.proxyhat.com:8080",
"https": "http://user-country-US:YOUR_PASSWORD@gate.proxyhat.com:8080",
}
# Çıkış IP'sini al
resp = requests.get("https://api.ipify.org?format=json", proxies=proxyhat_proxies)
residential_ip = resp.json()["ip"]
print(f"ProxyHat Residential Exit IP: {residential_ip}")
# --- Adım 2: IPQS proxy detection API'sini çağır ---
def check_ipqs(ip_address):
url = f"https://www.ipqualityscore.com/api/json/ip/{IPQS_API_KEY}/{ip_address}"
params = {
"strictness": 1,
"user_agent": "",
"user_language": "en-US",
}
r = requests.get(url, params=params, timeout=10)
return r.json()
# Residential IP'yi kontrol et
print("\n=== ProxyHat Residential IP — IPQS Sonuçları ===")
residential_result = check_ipqs(residential_ip)
print(f"Fraud Score: {residential_result.get('fraud_score')}")
print(f"Proxy: {residential_result.get('proxy')}")
print(f"VPN: {residential_result.get('vpn')}")
print(f"Tor: {residential_result.get('tor')}")
print(f"Recent Abuse: {residential_result.get('recent_abuse')}")
print(f"Bot Status: {residential_result.get('bot_status')}")
print(f"Connection Type: {residential_result.get('connection_type')}")
print(f"ISP: {residential_result.get('ISP')}")
print(f"ASN: {residential_result.get('ASN')}")
print(f"Organization: {residential_result.get('organization')}")
# --- Adım 3: Datacenter IP'yi kontrol et (örneğin kendi sunucunuz) ---
# Doğrudan bağlantı (proxy olmadan) — datacenter IP'niz
datacenter_ip = requests.get("https://api.ipify.org?format=json").json()["ip"]
print(f"\nDatacenter IP: {datacenter_ip}")
print("\n=== Datacenter IP — IPQS Sonuçları ===")
datacenter_result = check_ipqs(datacenter_ip)
print(f"Fraud Score: {datacenter_result.get('fraud_score')}")
print(f"Proxy: {datacenter_result.get('proxy')}")
print(f"VPN: {datacenter_result.get('vpn')}")
print(f"Tor: {datacenter_result.get('tor')}")
print(f"Recent Abuse: {datacenter_result.get('recent_abuse')}")
print(f"Bot Status: {datacenter_result.get('bot_status')}")
print(f"Connection Type: {datacenter_result.get('connection_type')}")
print(f"ISP: {datacenter_result.get('ISP')}")
print(f"ASN: {datacenter_result.get('ASN')}")
print(f"Organization: {datacenter_result.get('organization')}")
Beklenen sonuç: ProxyHat residential çıkış IP'si için fraud score 0-20 arası, proxy = false, connection_type = "Residential". Datacenter IP için ise fraud score 75+, proxy = true, connection_type = "Datacenter".
SOCKS5 ile Aynı Test
Eğer SOCKS5 kullanmak isterseniz, proxy URL'sini değiştirmeniz yeterli:
proxyhat_socks5 = {
"http": "socks5://user-country-US:YOUR_PASSWORD@gate.proxyhat.com:1080",
"https": "socks5://user-country-US:YOUR_PASSWORD@gate.proxyhat.com:1080",
}
resp = requests.get("https://api.ipify.org?format=json", proxies=proxyhat_socks5)
Yaygın Hatalar ve Edge Case'ler
1. Sticky Session Kullanmamak
IP rotasyonu her istekte farklı bir IP veriyorsa ve hedef site oturum tutarlılığı bekliyorsa, bu davranışsal bir anomali olarak işaretlenebilir. ProxyHat'te sticky session kullanmak için username'e session- flag'i ekleyin:
http://user-country-US-session-abc123:YOUR_PASSWORD@gate.proxyhat.com:8080
Bu, aynı IP'yi 10-30 dakika boyunca tutar ve davranışsal tutarlılık sağlar.
2. Geolocation ile IP Ülkesi Eşleşmemesi
IP'nin coğrafi konumu ile tarayıcı dilinin/saat diliminin eşleşmemesi, IPQS için dolaylı bir sinyal olabilir. ProxyHat'te user-country-US kullanıyorsanız, Accept-Language header'ını en-US ve saat dilimini America/New_York olarak ayarlayın.
3. TLS Parmak İzi Tutarsızlığı
IP'niz residential olsa bile, JA3/JA4 parmak iziniz bir Python requests kütüphanesinin varsayılan TLS parmak izine sahipse, üst katman detection sistemleri bunu yakalayabilir. RFC 8446 (TLS 1.3) specification'ına göre, TLS ClientHello'daki cipher suite sıralaması ve uzantı düzeni istemciyi benzersiz şekilde tanımlar. Çözüm: curl-impersonate veya undetected-chromedriver gibi araçlarla tutarlı bir tarayıcı TLS parmak izi kullanın.
4. Tek IP'yi Aşırı Kullanmak
Bir residential IP ne kadar temiz olursa olsun, kısa sürede binlerce istek gönderilirse IPQS bunu "scalable abuse" olarak işaretleyebilir. IP başına saniyede 5-10 isteği geçmeyin ve rotasyon kullanın.
5. Mobil Proxy'lerin Yanlış Anlaşılması
Mobil proxy'ler (4G/5G) genellikle residential'den bile daha düşük fraud score alır çünkü mobil operatör IP'leri NAT arkasındadır ve binlerce gerçek kullanıcıyla paylaşılır. Ama mobil IP'ler için IPQS connection_type = "Mobile" döndürür ve bazı siteler bu türü ek doğrulamaya tabi tutabilir.
ProxyHat Kurulumu ve En İyi Uygulamalar
ProxyHat residential proxy'leri, IPQS gibi fraud scoring sistemlerinden geçmek için tasarlanmıştır. İşte pratik kurulum adımları:
- Doğru proxy türünü seçin: Anti-fraud geçişi için residential proxy kullanın. ProxyHat fiyatlandırması sayfasından residential planları inceleyebilirsiniz.
- Geo-targeting kullanın: Hedef sitenin beklediği coğrafi konumla eşleşen ülke/şehir seçin. ProxyHat lokasyonları sayfasından mevcut ülkeleri görebilirsiniz.
- Sticky session ile tutarlılık sağlayın: Oturum tabanlı akışlarda (login, checkout)
session-flag'i kullanın. - Hızı sınırlayın: IP başına saniyede maksimum 5-10 istek gönderin. Web scraping use case sayfamızda rate limiting stratejilerini bulabilirsiniz.
- IP kalitenizi düzenli test edin: Yukarıdaki Python kodunu periyodik çalıştırarak IPQS puanınızı izleyin.
- SERP tracking için ayrı strateji: Google/Bing SERP scraping için SERP tracking use case sayfamıza bakın.
Detaylı proxy yapılandırması için ProxyHat dokümantasyonunu inceleyebilirsiniz.
Etik Çerçeve ve Yasal Uyarılar
Bu makaledeki teknik bilgiler, kendi IP kalitenizi test etmek, yetkili penetration testing ve meşru otomasyon için kullanılmalıdır. Ödeme dolandırıcılığı, sahte hesap oluşturma, credential stuffing veya herhangi bir yasa dışı faaliyet için kullanılması kesinlikle amaçlanmamıştır.
Özellikle:
- GDPR (AB Genel Veri Koruma Yönetmeliği): AB kullanıcılarına yönelik veri işleme faaliyetlerinde, IP adresleri kişisel veri olarak sınıflandırılır. Proxy kullanarak veri toplıyorsanız, GDPR'ye uyum sağlamaktan siz sorumlusunuz.
- CFAA (Bilgisayar Dolandırıcılığı ve Suistimal Yasası): ABD'de, bir sitenin hizmet şartlarını (ToS) ihlal ederek erişim elde etmek CFAA kapsamında suç teşkil edebilir. Scraping yapmadan önce hedef sitenin robots.txt ve ToS dosyalarını kontrol edin.
- CCPA (Kaliforniya Tüketici Gizlilik Yasası): Kaliforniya kullanıcılarına ait verilerin toplanması için özel yükümlülükler vardır.
Proxy kullanımı tek başına yasa dışı değildir, ancak proxy'lerle yapılan faaliyetin amacı ve yöntemi yasal sınırlar içinde kalmalıdır. Her zaman hedef sitenin robots.txt dosyasına saygı gösterin ve ToS ihlalinden kaçının.
Anahtar Çıkarımlar
IP itibarı ve dolandırıcılık puanlaması (IPQualityScore), 2026'da anti-fraud'ün temel katmanıdır. ASN türü, rDNS, açık portlar, geolocation ve son kötüye kullanım geçmişi gibi sinyalleri birleştirerek 0-100 arası bir puan üretir. Datacenter IP'ler doğaları gereği yüksek puan alırken, gerçek ISP atanmış residential IP'ler düşük puan alır. ProxyHat residential proxy'leri, temiz ASN, tutarlı geolocation ve düşük fraud score ile IPQS gibi sistemlerden geçer. Başarı, doğru proxy türünü seçmeye, geo-targeting'e, rate limiting'e ve TLS parmak izi tutarlılığına bağlıdır.
- IPQS fraud score >= 90, IPQS tarafından doğrudan engelleme önerisi olarak işaretlenir.
- Residential IP'ler, ISP ASN'i ve temiz rDNS kaydı sayesinde 0-20 arası fraud score alır.
- Datacenter IP'ler, hosting ASN'i ve açık portlar nedeniyle 75-100 arası fraud score alır.
- Sticky session, geo-targeting ve rate limiting, residential proxy başarısını maksimize eden üç temel stratejidir.
- TLS parmak izi (JA3/JA4) tutarlılığı, IP katmanının ötesindeki detection katmanıdır ve göz ardı edilmemelidir.






