Basit bir botu JavaScript çalıştırmaması ele verir. Ama reklamlar çoktandır curl betikleriyle değil, programların yönettiği gerçek tarayıcılarla kontrol ediliyor. Böyle bir headless tarayıcı sayfayı yükler, kodu çalıştırır, bekler, tıklar; saf bir koruma için ziyaretçiden hiçbir farkı yoktur. Onu ayırt etmeye tarayıcı parmak izi (fingerprint) ve programın ortamda bıraktığı otomasyon izleri yardım eder.
Headless tarayıcı nedir
Headless, «başsız», yani grafik penceresi olmayan demektir. Aynı Chrome veya Firefox motorudur, yalnızca arka planda çalışır ve bir program tarafından yönetilir. Popüler otomasyon araçları Puppeteer, Playwright ve Selenium sayfa açabilir, form doldurabilir, ekran görüntüsü alabilir ve bir geçiş zincirini takip edebilir.
Landing'inize karşı headless tarayıcıları kimler kullanır:
- reklam platformları: landing sayfasını kullanıcının göreceği gibi kontrol eder;
- spy servisleri: landing'leri bütünüyle kaydeder (ayrıntılar spy servislerinden korunma yazısında);
- fraud trafik: tıklamaları, hatta dönüşümleri şişirir;
- rakiplerin parser'ları: metinleri, fiyatları, yapıyı toplar.
Filtre için asıl sorun: headless tarayıcı JavaScript çalıştırma kontrolünü geçer. Bu yüzden daha ince işaretler gerekir.
Tarayıcı parmak izi (fingerprint) nedir
Tarayıcı parmak izi, tarayıcının siteye açtığı özelliklerin toplamıdır. Bir kısmı kendiliğinden gönderilir, bir kısmı betikle ölçülür.
| Bileşen | Nedir | Neyi ele verebilir |
|---|---|---|
| User-agent | tarayıcı ve işletim sistemi adı ile sürümünü içeren dize | kalıp veya eski bir sürüm |
| Dil ve yerel ayar | tarayıcının dil listesi | GEO ile uyuşmayan dil |
| Saat dilimi | sistemin saat dilimi | IP ülkesiyle uyuşmayan saat dilimi |
| Ekran | çözünürlük, renk derinliği, piksel yoğunluğu | sunuculara özgü «yuvarlak» boyutlar |
| Grafik | ekran kartı, renderer, çizim özellikleri | gerçek ekran kartı yerine yazılımsal renderer |
| Yazı tipleri | yüklü yazı tipleri kümesi | «çıplak» sunucu sistemi |
| Donanım verileri | çekirdek sayısı, bellek, dokunmatik ekran | «telefonda» masaüstü özellikleri |
| API yetenekleri | hangi tarayıcı arayüzlerinin mevcut olduğu | bu sürümün gerçek tarayıcısında olanın yokluğu |
Parmak izi iki şekilde kullanılır. Tanımak için: farklı ziyaretlerin aynı cihazdan geldiğini anlamak. Ve doğrulamak için: bu kümenin gerçek bir cihaza benzeyip benzemediğini anlamak. Bot koruması için ikincisi daha önemlidir; her site için anti-bot çözümü bunun üzerine kuruludur.
Headless ve otomasyon işaretleri
webdriver bayrağı
Standarda göre, bir otomasyon arayüzü üzerinden program tarafından yönetilen tarayıcı navigator.webdriver özelliğini ayarlar. En bilinen işarettir ve gizlemesi de en kolay olanıdır: tek satırla değiştirilir. Bu yüzden ciddi koruma yalnızca ona dayanmaz.
Kontrol izleri
Otomasyon araçları ortamda kendi nesnelerini, değişkenlerini ve bazı fonksiyonların davranışında karakteristik değişiklikler bırakır. Bunlar çoktur, araçların her sürümüyle değişir ve hepsini aynı anda gizlemek zordur.
Beyan edilenle uyuşmazlık
Headless tarayıcı çoğu zaman çelişkilerle kendini ele verir:
- user-agent «Windows'ta Chrome» der, ama API kümesi Linux'taki headless sürümünkü gibidir;
- iPhone beyan edilir, ama Safari'de olmayan arayüzler desteklenir;
- ekran «mobil», ama dokunmatik giriş yok;
- ekran kartı, sunuculara özgü yazılımsal renderer olarak görünür.
Sunucu ortamı
Minimum yazı tipi kümesi, medya cihazlarının yokluğu, «yuvarlak» ekran çözünürlüğü, donanım özelliklerinin doğal olmayan değerleri: bunların hepsi gerçek bir kullanıcı olmadan sunucuda çalışan bir tarayıcının işaretleridir.
Zaman ve davranış
Program ya anında ya da eşit aralıklarla hareket eder. Fare hareketi, dokunma, kaydırma yoktur ya da kusursuz düzgündür. Sayfada geçen sahte süre de fark edilebilir: betiğin bildirdiği gerçek zamanlamalarla örtüşmediğinde.
İpucu. Bu listedeki hiçbir işaret tek başına botu kanıtlamaz. Kanıtlayan birleşimdir: tek bir ziyarette üç dört bağımsız çelişki gerçek tarayıcılarda neredeyse hiç görülmez.
Antidetect tarayıcılar: sınır nerede
Antidetect tarayıcı, her profil ayrı bir gerçek cihaz gibi görünsün diye parmak izini değiştirir. Affiliate pazarlamada bu sıradan bir çalışma aracıdır: medya alıcıları reklam hesaplarını platform onları birbirine bağlamasın diye bunun içinde tutar.
Trafik filtresi için iki durumu ayırt etmek önemlidir:
- insanın kullandığı antidetect: landing için aslında sıradan bir ziyaretçidir; kişi fareyi oynatır, okur, tıklar;
- programın yönettiği antidetect: aynı otomasyon, yalnızca daha iyi kamufle edilmiş; onu taklidin tutarsızlığı ve davranış ele verir.
Başka bir deyişle, parmak izi tek savunma hattı değildir. İyi kamufle edilmiş bir botu nasıl göründüğü değil, ne yaptığı ele verir.
Yanlış pozitifler: uygulama içi tarayıcılar ve WebView
Parmak izine göre filtrelemede en sık hata, uygulama içi tarayıcıları kesmektir. Facebook, Instagram ve TikTok bağlantıları WebView tabanlı yerleşik bir tarayıcıda açar. Bu tarayıcıda:
- uygulama adını içeren alışılmadık bir user-agent vardır;
- tam bir tarayıcıya göre kısıtlı bir yetenek kümesi vardır;
- otomasyon izleriyle örtüşen işaretler bulunur;
- referrer çoğu zaman kaybolur.
Oysa sosyal ağlardan gelen gerçek trafiğin büyük kısmı tam da uygulama içi tarayıcılardan gelir. Bu yüzden WebView'deki otomasyon işareti açık bir bot olarak yorumlanamaz, yalnızca genel değerlendirmedeki sinyallerden biri olabilir. Platform tıklama etiketinin böyle bir ziyareti bottan ayırmaya nasıl yardım ettiği fbclid, gclid, ttclid nedir yazısında.
ArtisanClo'da tarayıcı kontrolü nasıl çalışır
ArtisanClo'da tarayıcı kontrolü, ağ kontrollerinden sonra gelen ayrı bir adımdır. Betik ziyaretçinin tarayıcısında çalışır ve ne gördüğünü bildirir; karar gelene kadar sayfa gizlenir. Bundan birkaç koruma anahtarı sorumludur:
- Headless engelle: tarayıcı gibi davranan botları ve otomatik tıklayıcıları yakalar. Açık otomasyon izlerinde hemen keser, günlükteki neden «Headless tarayıcı tespit edildi» olur.
- JS zorunlu: JavaScript'i olmayan ziyaretçi ağır bir ceza alır ve kontrole gönderilir. Basit botlar ve parser'lar burada takılır.
- Canlı etkileşim kontrolü: fare ve parmağın nasıl hareket ettiğine bakar; insan doğal davranır, bot davranmaz. Kısa bir bekleme ekler, bu yüzden katı platformlar için açılır.
- Sayfada minimum süre: belirlenen süreden az kalan ziyaretçi bekleme sayfasına gönderilir ve yeniden kontrol edilir.
Facebook, Instagram ve TikTok'un uygulama içi tarayıcıları ve uygulamalardaki WebView ayrı tanınır: onlardaki otomasyon işareti ziyareti hemen kesmez, ağ, zaman ve referrer ile birlikte güven değerlendirmesine katılır. Trafiğin neredeyse tamamının uygulama içi tarayıcıdan geldiği kampanyalar için «Dengeli» sıkılık önerilir.
Kanıtlanmış işaretleri olan robot tarayıcılar ve sayfada geçen sürenin taklidi ilk seferde ortak bot listesine girer: o adresten gelen bir sonraki ziyaret, hangi müşterinin hangi akışına giderse gitsin, hemen White Page alır.
İstatistiklerde bu adımın retleri «Tarayıcı kontrolü» payında, betiği çalıştırıp geri dönmeyen ziyaretler ise «Kontrol geri dönmedi» payında toplanır. Artan pay tam olarak «Tarayıcı kontrolü» ise sıkılığı kontrol etmek için bir işarettir: filtre en sık bu adımda yanılır.
Tarayıcı kontrolü hem JS etiketi hem PHP dosyası bağlantısında çalışır. Yöntemler arasındaki fark cloaker siteye nasıl bağlanır yazısında, kontrollerin tam listesi ise özellikler sayfasında.
Headless'a karşı koruma nasıl kurulur: pratik adımlar
- Ağdan başlayın. Headless botların çoğu sunucularda çalışır; veri merkezi engeli onları tarayıcı kontrolünden önce keser. Bkz. VPN, proxy ve veri merkezi IP'leri.
- Güvenli olduğu yerde JavaScript zorunlu kılın. Platform tıklama etiketi gönderiyorsa ve trafik sıradan tarayıcılardan geliyorsa zorunlu JS parser'ları kayıpsız keser.
- Headless engellemeyi tüm akışlarda açın.
- Canlı etkileşim kontrolünü pahalı trafik ve gelişmiş otomasyonun bol olduğu kaynaklar için tutun.
- Uygulama içi tarayıcılara karşı sıkılaştırmayın. Sosyal ağlar için gereksiz katı kurallar açmayın.
- Nedenlere bakın. «Headless tarayıcı tespit edildi» bir platformun mobil trafiğinde toplu halde tetikleniyorsa bu sevinmek için değil, incelemek için bir sebeptir.
Çok katmanlı korumanın genel mantığı bot trafiği nasıl filtrelenir yazısında, tipik işaretlerin listesi ise bot trafiği belirtileri yazısında.
Tarayıcı parmak izi ve gizlilik: bilinmesi gerekenler
«Fingerprint» kelimesi çoğu zaman gözetlemeyle ilişkilendirilir: reklam sistemleri kullanıcıyı çerez olmadan tanımak için parmak izlerini kullanır. Anti-fraud'da görev farklıdır. Filtrenin ziyaretçinin kim olduğunu bilmesi gerekmez; gerçek bir tarayıcı olup olmadığını ve insan gibi davranıp davranmadığını anlaması gerekir. Bu yüzden bot koruması için önemli olan benzersiz tanımlayıcılar değil, özelliklerin kendi aralarındaki tutarlılığıdır.
Pratik sonuç şudur. Tarayıcılar betikle ölçülebilenleri yavaş yavaş kısıyor: çizime gürültü ekliyor, user-agent dizelerini standartlaştırıyor, donanım ayrıntılarını gizliyor. Kullanıcıları tanımak için bu bir sorun, doğrulama için daha küçük bir sorun: beyan edilenle gerçek arasındaki çelişkiler kaybolmuyor. Ama bir iki «sihirli» işarete dayanan koruma zamanla çalışmaz hale gelir; bu da sinyallerin toplamına göre değerlendirmenin lehine bir argümandır.
Örnek: şüpheli bir ziyaretin incelemesi
Diyelim ki günlükte nedeni tarayıcı otomasyonuyla ilgili bir ziyaret var. Tıklama kartında görünenler:
- ağ: bulut hosting;
- tarayıcı güncel Chrome olarak beyan edilmiş, cihaz bilgisayar;
- reklam tıklaması etiketi yok;
- tarayıcı kontrolü programla yönetim işaretleriyle döndü.
Burada her şey örtüşüyor: sunucu ağı, reklam geçişinin yokluğu, otomasyon izleri. Bu klasik bir kontrol robotu veya spy servisidir.
Bir de başka bir ziyaret: mobil operatör, sosyal ağın uygulama içi tarayıcısı, tıklama etiketi var, otomasyon işareti zayıf. Böyle bir ziyareti tek bir işarete göre kesmek olmaz; büyük ihtimalle reklamı uygulamada açan sıradan bir kişidir.
Bu iki ziyaret arasındaki fark, işaretlerin toplamına göre değerlendirmenin özüdür: birincide birden fazla bağımsız sinyal birbiriyle çelişiyor, ikincide yalnızca biri, o da uygulama içi tarayıcının özellikleriyle açıklanabiliyor. Günlükte bu «ikinci» tipten çok sayıda ziyaret White Page'e gidiyorsa o platform için sıkılığı azaltın.
Özet
Headless tarayıcı basit kontrolleri geçer, ama iz bırakır: otomasyon bayrakları ve nesneleri, parmak izindeki çelişkiler, sunucu ortamı, doğal olmayan davranış. Tarayıcı parmak izi ziyaretin gerçek bir cihaza benzeyip benzemediğini, davranış kontrolleri ise insan gibi davranıp davranmadığını anlamaya yardım eder. Ana kural anti-fraud'un her yerindeki gibidir: karar tek bir işarete değil işaretlerin birleşimine göre verilir, aksi halde botlarla birlikte sosyal ağların uygulama içi tarayıcılarından gelen trafik de gider.



