Sunucu tarafı cloaking, kararı sitenizin sunucusunda veren bir filtredir: ziyaretçinin isteği hosting'e gelir, PHP kodu filtreleme servisine karşısında kimin olduğunu sorar ve ancak cevaptan sonra tarayıcıya offer'ı veya nötr sayfayı verir. Tarayıcıdaki cloaking farklı çalışır: sayfa zaten yüklenmektedir ve <head> içindeki JS etiketi içeriği gizler, ziyareti kontrol eder ve gereken sürümü gösterir.
İki düzen de aynı görevi çözer (botları, tarayıcıları, spy servislerini ve hedef dışı trafiği ayıklamak), ama ziyareti farklı taraflardan görür ve farklı şekillerde bozulur. Adım adım kurulum cloaker kurulumu: JS etiketi veya PHP yazısında anlatılıyor; burada konu mimari: içeride ne olduğu, her yöntemin güçlü ve zayıf yanlarının nerede olduğu.
Sunucu tarafı cloaking (server-side cloaking): istek nasıl ilerler
Sunucu düzeninde ziyaretin yolu:
- Ziyaretçi reklama tıklar, tarayıcı
siteniz.comadresini ister. - İstek sunucunuza ulaşır ve ilk cevabı landing değil PHP dosyası verir.
- Dosya servise istek verilerini iletir: IP, başlıklar, bağlantı parametreleri.
- Servis ziyareti kontrol eder ve kararı döndürür.
- Sunucu tarayıcıya offer'ı veya White Page'i verir. Bu ana kadar tarayıcı sayfanın tek bir baytını bile almamıştır.
Temel özellik şudur: sayfa karardan önce ziyaretçiye gitmez. Botun kaydedeceği bir şey, reklam engelleyicinin kesip atacağı bir şey, yavaş internetin vaktinden önce göstereceği bir şey yoktur.
Tarayıcıda cloaking: JS etiketi nasıl çalışır
Tarayıcı düzeninde sıra terstir:
- Tarayıcı sayfayı ister, hosting'iniz onu herkese aynı şekilde verir.
<head>içinde ilk satırda etiket durur; her şeyden önce yüklenir ve sayfayı gizler.- Etiket tarayıcı sinyallerini toplar ve servise gönderir.
- "Offer" kararı geldiyse sayfa gösterilir. "White Page" geldiyse veya karar yoksa ziyaretçi nötr sayfaya yönlendirilir.
Bu düzenin artısı basitliktir: etiket, <head>'ine erişim olan her sayfaya, kendi sunucusu olmayan bir site oluşturucuda bile eklenir. Eksisi, landing'in HTML'inin fiziksel olarak zaten tarayıcıda olmasıdır. Etiket onu gizler, ama "vermemezlik" yapamaz.
Her cloaker ziyaret hakkında ne görür
Mimariler arasındaki asıl fark sinyal setidir.
| Sinyal | Sunucu | Tarayıcı |
|---|---|---|
| IP, sağlayıcı, ağ, adrese göre ülke | Evet | Evet, servis üzerinden |
| User-Agent, dil, referrer, istek başlıkları | Evet | Evet |
| Bağlantı parametreleri: fbclid, gclid, ttclid, UTM | Evet | Evet |
| İstemci JavaScript çalıştırıyor mu | Hayır | Evet |
| Tarayıcının saat dilimi ve dili | Hayır | Evet |
| Otomasyon işaretleri (webdriver, headless) | Kısmen, başlıklara göre | Evet |
| Ekran, platform, tarayıcı özellikleri | Hayır | Evet |
| Fare hareketleri ve dokunmalar | Hayır | Evet |
| Sayfada geçen süre | Hayır | Evet |
Sunucu isteği, tarayıcı ise bu isteğin çalıştığı ortamı görür. Veri merkezinden gelen basit bir botu ikisi de yakalar. Doğru User-Agent'lı, ev proxy'sindeki otomatik bir tarayıcıyı sunucu tek bir istekten insandan ayıramaz; onu ancak JavaScript davranışı ele verir: saat diliminin adres ülkesiyle uyuşmaması, otomasyon izleri, hareket olmaması. Bu işaretler hakkında headless tarayıcı ve fingerprint tespiti ve VPN, proxy ve veri merkezi IP tespiti yazılarına bakın.
Hibrit: sunucu kararı artı kontrol sayfası
Bu yüzden saf sunucu düzeni pratikte sanıldığından daha seyrek görülür. Sunucu filtresi istekten her şey açıksa hemen karar verir, şüpheli durumlarda ise kısa bir kontrol sayfası verir: bu sayfa JavaScript çalıştırır, tarayıcı sinyallerini toplar ve kararı yeniden ister. İnsan için bu saniyenin kesri kadar bir beklemedir, basit bir bot için çıkmaz sokak.
ArtisanClo'da PHP dosyası tam olarak böyle çalışır: akış kuralları JavaScript veya sayfada minimum süre gerektiriyorsa, ziyaretçi bir bekleme sayfası görür ve yeniden kontrol edilir. Keitaro için filtre veya Binom için geçit ile bağlantıda ise kontrol sayfası yoktur: karar yalnızca ağa ve istek işaretlerine göre verilir, bu yüzden JavaScript kontrolü ve sayfada geçen süre orada çalışmaz.
Hız: milisaniyeler nerede kaybolur
Her filtre yüklemeye karar süresi ekler. Fark tam olarak nerede eklediğindedir.
- Sunucu düzeni, ilk bayt verilmeden önce hosting'inizden servise bir istek ekler. Hız hosting'in ağ bağlantısına bağlıdır: veri merkezindeki iyi bir sunucu hızlı cevap verir, aşırı yüklü bir paylaşımlı hosting hem landing'i hem kontrolü yavaşlatır.
- Tarayıcı düzeni, script'in yüklenmesini ve ziyaretçinin tarayıcısından bir isteği ekler. Mobil internette bu daha belirgindir, ama sayfa bu sırada paralel olarak zaten yüklenir; karardan sonra yeniden indirilmesi gerekmez.
- Kontrol sayfası bilerek bekleme ekler. Onu varsayılan olarak her yerde değil, sıkılığın kaynak tarafından haklı çıkarıldığı yerde açın.
Pratikte, onlarca analitik script'i ve ağır görselleri olan bir landing, filtreleme yöntemlerinin herhangi birinden daha fazla zaman kaybeder. Sayfa optimizasyonu genellikle mimari seçiminden daha çok kazandırır.
Güvenilirlik: cloaker hatalarda nasıl davranır
Hata toleransı, mimarilerin en çok ayrıştığı yerdir.
JS etiketi yüklenmezse
Etiket harici bir script'tir. Ağ, kurumsal filtre veya sunucudaki bir engelleyici onu geçirmezse sayfa gizlenmez ve onu botlar ve spy servisleri dahil herkes görür. Buradaki hata "açık" türdendir. Etiket yüklendiyse ama karar yoksa, ziyaretçiyi White Page'e yönlendirir; bu "kapalı" türden bir hatadır.
Servis sunucuya cevap vermezse
Sunucu yöntemi cevabı sınırlı süre bekler. ArtisanClo'da PHP dosyası 4 saniyeye kadar bekler, bağlantı koptuğunda ise bir gün boyunca ziyaretleri alınan son cevaba göre karşılar: reklam tıklama etiketli ziyaretçileri offer'a, diğerlerini White Page'e gönderir. En ilk cevaptan önce gelen ziyaret 503 hatası alır. Keitaro filtresi ve Binom geçidinde sınır 3 saniyedir, sonrasında ziyaret White Page'e gider.
Hosting çökerse
Burada iki düzen eşittir: landing sizde yaşar ve filtre çökmüş bir sunucuyu ayağa kaldıramaz. Servis karardan, siz sayfanın erişilebilirliğinden ve sertifikadan sorumlusunuz.
| Durum | JS etiketi | PHP dosyası |
|---|---|---|
| Script yolda engellendi | Sayfayı herkes görür | Geçerli değil |
| Servis cevap vermedi | White Page | Bir güne kadar son cevaba göre çalışma |
| Hosting'den giden bağlantı yok | Etkilemez | 503 hatası, uzun yükleme |
| Hosting'in koruma filtresi (WAF) | Genellikle etkilemez | Kontrol isteklerini kesebilir |
Önbellek, CDN ve proxy: sunucu tarafı cloaker'ın sessiz düşmanları
Sunucu düzeni her isteğin PHP dosyasına ulaşacağını varsayar. Üç şey buna engel olur.
- Sayfa önbelleği. Önbellek eklentisi, hosting önbelleği veya CDN, karar sormadan kayıtlı bir kopya verir. Sonuçta herkes aynı sayfayı görür: önbelleğe düşeni. Filtreli landing önbellekten hariç tutulmalıdır. HTML önbelleği etikete daha az engel olur: kopya etiket kurulduktan sonra alındıysa, içindeki script yine de tarayıcıda çalışır.
- Sitenin önündeki proxy. Hosting sunucunun önüne kendi proxy'sini koyarsa, PHP dosyası ziyaretçinin değil proxy'nin adresini görür ve filtre insanları değil sizin sunucunuzu değerlendirir. İşareti: günlükteki tüm ziyaretlerin tek bir IP'si vardır. Çözümü gerçek adresin iletilmesi (real IP ayarı) veya başlıklarını dosyanın anladığı Cloudflare üzerinden proxy kullanmaktır.
- Tarayıcıdaki karar önbelleği. Her yenilemede servise sormamak için tek bir ziyaretçinin kararı kısa süre saklanabilir. ArtisanClo'da PHP dosyasında bu bir dakikaya kadardır; bu yüzden akışı düzenledikten sonra yeni bir gizli pencerede kontrol edin.
Bu ve diğer arızaların incelemesi cloaker çalışmıyor: çözüm yazısında.
Yalnızca sunucu düzeninin yapabildikleri
Tarayıcıdaki kodun fiziksel olarak erişemediği olanaklar vardır.
- Sayfa yerine cevap kodu. Sunucu, kapalı bir adres gibi 403 veya 404 ile cevap verebilir. Etiket cevap kodunu değiştiremez: onun yerinde boş bir sayfa kalır.
- Gölge modu. Tüm ziyaretçiler offer'a gider, günlük ise filtrenin kimi keseceğini gösterir. Yeni bir kural trafik kaybı olmadan böyle test edilir.
- "Tracker" modu. Filtre kimseyi kesmez, yalnızca tıklamaları, dönüşümleri ve parayı sayar ve botları raporlarda işaretler. Filtrelemeye değil takibe ihtiyaç duyan trafik için uygundur; ayrıntılar affiliate tracker nedir yazısında.
ArtisanClo'da Gölge modu ve "Tracker" modu, PHP dosyası, Keitaro filtresi veya Binom geçidiyle bağlantıda çalışır; JS etiketinde akış sıradan bir cloaker gibi filtreler.
Güncellemeler ve bakım
Hemen akla gelmeyen bir fark daha: sitedeki kodun güncelliğinden kim sorumlu.
- JS etiketi her ziyarette servisten yüklenir. Servis tarayıcı kontrollerini iyileştirdiğinde, etiketli tüm siteler yeni sürümü otomatik alır; sizin tarafınızda hiçbir şeyi değiştirmeniz gerekmez.
- PHP dosyası hosting'inizde durur ve kendiliğinden güncellenmez. Kontrollerin mantığı ve bot veritabanları servis tarafında yaşar, bu yüzden filtrenin asıl işi siz olmadan da iyileşir, ama dosyanın kendisinin yeni olanakları değiştirilmesini gerektirir. ArtisanClo'da bunu, mevcut sürümünüzün yapamadıklarının listesiyle birlikte "Eski bir dosya çalıştırıyorsunuz" uyarısı bildirir.
Bu arada her iki durumda da akış ayarları sitedeki kodda değil panelde saklanır. Ülkeleri, sıkılığı veya White Page'i değiştirdiniz: değişiklikler bir sonraki ziyaretten itibaren geçerlidir, dosyayı yeniden yüklemeniz veya etiketi yeniden eklemeniz gerekmez.
Ayrıca erişim haklarını unutmamak gerekir. PHP dosyası sunucunuzda çalışır, bu yüzden onu yalnızca servisin panelinden alın ve elle düzenlemeyin: sohbetten veya forumdan gelen "geliştirilmiş" bir dosya hosting'de her şeyi yapabilir.
PHP cloaker mı JS etiketi mi: hangisi seçilmeli
| Durumunuz | Uygun olan |
|---|---|
| Sunucuya erişimi olmayan site oluşturucu | JS etiketi |
| PHP'li kendi hosting'iniz | PHP dosyası |
| WordPress | Aynı sunucu yöntemini kuran eklenti |
| Filtrelemesiz takip veya kuralların gölge testi gerekiyor | PHP dosyası |
| Trafik zaten Keitaro veya Binom'dan geçiyor | Tracker'ın filtresi veya geçidi; bkz. Keitaro cloaking entegrasyonu |
| Hosting giden bağlantıları yasaklıyor | JS etiketi |
Kısaca: etiketi kurmak daha hızlıdır, sunucu yöntemi daha güvenilirdir ve daha fazla mod sunar. Filtreleme ayarları ise mimariden bağımsızdır: akışta saklanır ve bağlantı yöntemi kurallar düzenlenmeden değiştirilebilir. Sıklıkla "PHP cloaker" olarak da adlandırılan kendi yazdığınız script'lerle karşılaştırma bulut cloaker mı cloaking scripti mi yazısında.
İpucu. Hangi düzeni seçerseniz seçin, kurulumdan sonra reklam bağlantısını gizli pencerede açın ve ziyaretinizi tıklama günlüğünde bulun. Karar nedeni, filtrenin gerçek IP'yi görüp görmediğini, kontrolün tetiklenip tetiklenmediğini ve önbelleğin eski bir kopya verip vermediğini hemen gösterir.
Sunucu tarafı filtreleme ve platform kuralları
Mimari hukuki tarafı değiştirmez. Reklam platformları, reklam denetim sistemine kullanıcının göreceğinden farklı bir şey göstermeyi yasaklar; buna sunucunun mu tarayıcının mı karar verdiği önemli değildir. Her düzenin dürüst faydası; botların, sahte tıklamaların, spy servislerinin ve hedef dışı ülkelerin ayıklanması, temiz istatistik ve para takibidir. Bu konuda daha fazlası trafik arbitrajı için cloaker yazısında.
Sonuç
- Sunucu tarafı cloaking sayfa verilmeden önce karar verir: engelleyicilere bağlı değildir, cevap kodlarını, Gölge modunu ve "Tracker" modunu destekler, ama PHP, giden bağlantılar ve önbellek ile proxy konusunda dikkat gerektirir.
- Tarayıcıda cloaking herhangi bir
<head>'e kurulur ve sunucunun erişemediği sinyalleri görür, ama sayfanın HTML'i zaten tarayıcıdadır ve yüklenmeyen bir script hiçbir şeyi gizlemez. - İki dünyanın en iyisini kontrol sayfalı sunucu kararı verir: ağa ve isteğe sunucu, davranışa ve ortama tarayıcıdaki kısa JavaScript bakar.
- Koşullar, olanaklar ve tarif içerikleri özellikler ve fiyatlar sayfalarında.



