Yayın: 2026-11-13 · 9 dk
Cloudflare Ülke Kuralı Testi: Ev Kullanıcısı Geçiyor mu?
Cloudflare ülke kuralı testi: sitenizdeki ülke bazlı WAF kuralının gerçek ev kullanıcısını engelleyip engellemediğini residential IP ile adım adım doğrulama.

Cloudflare ülke kuralı testi neden sunucudan ya da VPN’den yapılamaz?
Cloudflare ülke kuralı testi, kendi sitenizde kurduğunuz ülke bazlı engelleme ya da doğrulama kuralının gerçek bir ev kullanıcısına ne gösterdiğini ölçer; bunun için isteğin o ülkedeki bir ev bağlantısından, yani residential IP’den çıkması gerekir. Sunucudan ya da VPN’den yapılan deneme başka bir soruya cevap verir. Cloudflare kuralı değerlendirirken yalnız ülke koduna bakmaz; isteğin geldiği ağ türünü, ASN’i ve istek özelliklerini de görür. Bir veri merkezi IP’sinin Managed Challenge sayfasına düşmesi, aynı ülkedeki bir ADSL kullanıcısının da düşeceği anlamına gelmez; tersi de geçerlidir.
Senaryo tanıdıktır: pazarlama ekibi “Almanya’dan girenler kampanya sayfasını göremiyor” der, geliştirici Frankfurt’taki sunucudan curl atar, sayfa gelir, sorun kapanır. Oysa kural, o müşterinin mobil operatöründen gelen ve Cloudflare’in konum veritabanında başka ülkeye yazılmış bir IP aralığını engelliyordur. Testi ev kullanıcısının çıktığı yerden yapmadan bu ayrımı göremezsiniz. Veri merkezi IP’lerinin ASN üzerinden neden engellendiği ayrı bir konudur ve bu rehberde ele alınmaz; burada yalnız kendi sitenizin kuralı ve gerçek ziyaretçi vardır.
Bu yöntem yalnız yönettiğiniz ya da test yetkisi aldığınız siteler içindir. Başkasının WAF kuralını aşmak, bot skorunu düşürmek ya da doğrulama sayfasını otomatik geçmek bu rehberin konusu değildir. Amaç kuralın doğru ülkeyi doğru eylemle yakaladığını ve meşru ziyaretçiyi kapı dışında bırakmadığını kanıtlamaktır.
Kuralın kendisi: ip.src.country, eylemler ve plan sınırları
Cloudflare belgesine göre ülke bazlı kural WAF özel kurallarında (custom rules) yazılır ve ülke alanı ip.src.country adını taşır; değer ISO 3166-1 alpha-2 biçimindedir, yani TR, DE, US gibi iki harf. Eski ip.geoip.country alanı aynı değeri verir ama kullanımdan kaldırılmıştır; yeni kurallarda ip.src.country kullanılır. Eylem seçenekleri Block, Managed Challenge, Interactive Challenge ve Skip’tir; yalnız kaydeden Log eylemi Enterprise planına özeldir. Belge Log olmayan planlar için Managed Challenge ile başlayıp olayları izledikten sonra Block’a geçmeyi önerir ve test turu tam bu geçişi güvenli yapmak içindir.
Plan sınırları test matrisinin boyutunu belirler. Belgeye göre özel kural sayısı Free planda 5, Pro’da 20, Business’ta 100, Enterprise’da 1.000’dir; düzenli ifade desteği Business ve üstündedir. IP Access Rules tarafında ülkeye göre engelleme yalnız Enterprise’dadır; diğer planlar ülke engellemeyi WAF özel kuralıyla yapar. Belgede küçük ama test sonucunu bozan bir uyarı daha vardır: IP Access Rules’ta bir IP ya da ASN’e Allow verilmişse o istek özel kuralları atlar. Test için kullandığınız residential IP’yi ya da ofis IP’nizi daha önce Allow listesine eklediyseniz kural hiç çalışmaz ve “engellenmiyor” sonucunu yanlış okursunuz.
Kuralın ne gördüğünü kaynağa da taşıyabilirsiniz. Belgeye göre “Add visitor location headers” adlı Managed Transform ya da IP Geolocation anahtarı açıldığında Cloudflare kaynak sunucuya CF-IPCountry başlığını ekler; değer iki harfli ülke kodudur, ülke bilgisi olmayan istemciler için XX, Tor ağından gelenler için T1 yazılır. Kaynak sunucunun erişim günlüğüne bu başlığı yazdırırsanız her isteğin Cloudflare tarafından hangi ülkeye atandığını kendi logunuzda görürsünüz; test turunda bu, Security Events ekranındaki kayıtla çapraz kontrol sağlar.
Test matrisi: ülke, eylem ve beklenen sonuç
Testten önce matrisi yazın; aksi hâlde sonuçları yorumlayacak bir referansınız olmaz. Satırlar test edilecek ülkeler, sütunlar kuraldaki eylem ve beklenen davranıştır. Örnek bir kural kümesi şöyle olsun: belirli ülkeler için Block, geri kalan ülkeler için Managed Challenge, Türkiye ve Almanya için kural yok. Matris üç satırdan oluşur. Engellenen ülkeden gelen residential IP için beklenen sonuç HTTP 403 ve Cloudflare engel sayfasıdır; sayfadaki Ray ID kaydedilir. Doğrulama uygulanan ülkeden gelen IP için beklenen, doğrulama sayfasının görünmesi ve kullanıcı etkileşimi olmadan geçilmesidir; belgeye göre Managed Challenge isteğin özelliklerine göre doğrulama türünü kendisi seçer ve çoğu insan ziyaretçi otomatik geçer. Kural uygulanmayan ülke için beklenen, sayfanın doğrudan 200 ile gelmesidir.
Her hücreye üç kayıt düşer: tarayıcının gördüğü HTTP kodu ve sayfa, yanıt başlığındaki cf-ray değeri ve Security Events ekranındaki olay satırı. Üçü birden tutuyorsa hücre geçer. Yalnız tarayıcı sonucuna bakmak yetmez, çünkü 403 kaynak sunucunun kendi kuralından ya da başka bir Cloudflare katmanından da gelebilir; Security Events satırı hangi kuralın hangi eylemle tetiklendiğini gösterir. Belgeye göre bu ekran olayları eylem, alan adı, ülke ve ASN’e göre gruplar ve bütün planlarda 31 güne kadar geriye gider; Free planda yalnız örneklenmiş kayıt tutulur.
Matrise bir de negatif satır ekleyin: kuralın yakalamaması gereken ülke. Test genellikle “engelleniyor mu” sorusuna odaklanır ve “yanlışlıkla engellenen var mı” sorusu atlanır. Oysa müşteri şikâyeti ikinci sorudan gelir. Hedef pazarınızdaki ülkelerden en az birer residential IP ile sayfanın 200 döndüğünü ve doğrulama sayfasına düşmediğini görmeden kuralı canlıda bırakmayın.
Adım adım: altı adımlı test turu
Birinci adım, test IP’sinin Cloudflare gözünde hangi ülkede olduğunu öğrenmektir. Residential proxy’yi tarayıcıya ya da curl’e bağlayıp kendi alan adınızın altındaki /cdn-cgi/trace yoluna istek atın; belgeye göre bu uç nokta isteğin hangi veri merkezine düştüğünü colo satırında verir, loc satırı ise atanmış ülke kodudur. loc beklediğiniz ülke değilse test geçersizdir; proxy konumunun veritabanlarında farklı görünmesi ayrı bir rehberde anlatılır ve o IP ile devam etmek yerine başka bir çıkış seçilir.
İkinci adım temiz oturumdur. Doğrulamayı bir kez geçen tarayıcıya Cloudflare bir çerez bırakır ve sonraki istekler aynı kurala takılmaz; önceki turdan kalan çerezle test ettiğinizde Managed Challenge satırı boş görünür. Her ülke için yeni tarayıcı profili ya da gizli pencere açın, çerezleri temizleyin. Üçüncü adım isteğin kendisidir: hedef sayfayı açın, HTTP kodunu, sayfanın türünü (içerik, doğrulama, engel) ve yanıt başlığındaki cf-ray değerini matrise yazın. curl kullanıyorsanız başlıkları görmek için ayrıntılı çıktı alın; doğrulama sayfası tarayıcı ister, curl ile yalnız engel ve geçiş satırları ölçülür.
Dördüncü adım Security Events kontrolüdür: panelde ülke ve eylem filtresiyle son dakikalara bakın, olayın tetiklediği kuralı ve eylemi matristeki beklentiyle karşılaştırın. Beşinci adım kaynak logudur: CF-IPCountry başlığını logluyorsanız aynı isteğin kaynağa hangi ülke koduyla ulaştığını, Block hücrelerinde ise kaynağa hiç ulaşmadığını doğrulayın. Altıncı adım tekrardır: aynı ülkeden ikinci bir residential IP ile turu yineleyin. Belge IP konumunun tahmin olduğunu ve tek sinyal olarak kullanılmaması gerektiğini söyler; tek IP ile çıkan sonuç yalnız o adresi anlatır.
Turun çıktısı, her ülke için üç kayıtlı bir tablo ve kuralın değiştirilmesi gereken satırların listesidir. Kuralı değiştirdikten sonra yalnız değişen satırları değil bütün matrisi yeniden koşun; ülke listesine bir kod eklemek, Block ile Managed Challenge sırasını değiştirmek ya da bir Allow kuralı eklemek diğer satırların sonucunu da etkiler.
Yanıltıcı sonuçlar: önbellek, çerez, örnekleme ve XX
Önbellek ilk kuşkudur ama belgeye göre özel kurallar http_request_firewall_custom fazında, önbellek kurallarından önce çalışır; sayfa önbellekte olsa bile engel uygulanır. Yani “önbellekten geldiği için engel görmedim” açıklaması doğru değildir; engel görülmüyorsa neden başka yerdedir. Doğrulamayı geçen tarayıcının çerezi, Allow listesindeki IP ya da ASN ve ülke kodunun beklenenden farklı olması ilk üç adaydır.
Örnekleme ikinci kuşkudur. Belge Security Events ekranının örneklenmiş veri kullanabileceğini ve her olayın görünmeyebileceğini söyler; Free planda yalnız örneklenmiş kayıt vardır ve dışa aktarma yoktur. Matristeki bir hücrede tarayıcı engel gösterirken olay satırı yoksa bu, kuralın çalışmadığı anlamına gelmez; cf-ray değeri ve kaynak logundaki boşluk kanıtı tamamlar. Business ve Enterprise’da dışa aktarma 500 olaya kadar mümkündür ve toplu test için daha rahattır.
Üçüncü kuşku ülke kodunun kendisidir. XX kodu konum verisi olmayan istemci, T1 kodu Tor demektir; ülke kuralınız bu iki değeri kapsamaz ve bu kodla gelen gerçek kullanıcı kural dışı kalır. Belge mobil ve CGNAT ağlarında IP’nin sık değişebildiğini de not eder; test sırasında mobil operatör çıkışlı bir residential IP’nin ülke kodu sabit kalsa da aynı IP’nin başka bir müşteride görünmesi olağandır. Bu yüzden Block kararını yalnız ülke koduna bağlamak meşru kullanıcı kaybı üretir; belge de ülke kodunun tek sinyal olmaması gerektiğini söyler.
Static mi rotating mi: ülke başına kaç IP, ne sıklıkla
Test trafiği küçüktür; bir tur ülke başına birkaç sayfa yüklemesidir. Ürün seçimini ülke kapsamı ve tekrar düzeni belirler. Kurala her dokunuşta aynı adreslerle gerileme testi koşacaksanız static residential IP uygundur: kataloğa göre static IPv4 residential paketler 12 ülkede aylık adet bazlı satılır; Türkiye için 1 adet aylık 2,25 USD, Almanya ve ABD için 5 adet aylık 17,5 USD’dir. Aynı IP ile tekrar eden test, kural değişikliğinin etkisini IP değişkenini sabit tutarak gösterir.
Çok ülkeli tek seferlik tarama için rotating IPv4 residential daha geniş kapsam verir: kataloğa göre 180’den fazla lokasyonlu havuz GB bazlıdır ve en küçük paket 2 GB için 2,5 USD’dir; bir test turu bu paketin küçük bir kısmını harcar. Ülke seçimi gateway’in ülke parametresiyle yapılır ve her ülke için birinci adımdaki loc kontrolü tekrarlanır, çünkü havuzdan gelen adresin Cloudflare gözündeki ülkesi parametreyle her zaman birebir olmayabilir.
İki ürünü birlikte kullanmak da yaygındır: hedef pazar olan üç dört ülke için sabit adresler, kural listesindeki engellenen ya da doğrulama uygulanan ülkeler için rotating havuz. Hangi durumda hangisinin seçileceği static mi rotating mi rehberinde genel olarak anlatılır; burada ölçüt tekrar edilebilirliktir.
Sık sorulan sorular
Ülke kuralını kendi bilgisayarımdan VPN ile test edemez miyim? VPN çıkışı veri merkezi IP’sidir ve Cloudflare isteği ev kullanıcısıyla aynı şekilde değerlendirmez; doğrulama kararı ağ türüne göre değişebilir. Kuralın ülkeyi yakalayıp yakalamadığını kabaca gösterir ama ev kullanıcısının deneyimini göstermez.
Free planda bu test yapılabilir mi? Evet. Özel kural sayısı 5 ile sınırlıdır ve Log eylemi yoktur; belge Managed Challenge ile başlayıp Security Events’i izlemeyi önerir. Olay kayıtları örneklenmiş olduğu için cf-ray ve kaynak logu kanıtın parçasıdır.
Managed Challenge sayfasını geçemezsem kural yanlış mı? Hayır, kural tam olarak tasarlandığı gibi doğrulama uygulamıştır. Belgeye göre çoğu insan ziyaretçi otomatik geçer; geçemeyen residential IP için sonucu kaydedin ve aynı ülkeden ikinci bir IP ile tekrarlayın. Doğrulamayı otomatik geçmek bu testin kapsamı dışındadır.
Cloudflare ülkeyi yanlış atarsa ne yaparım? Önce /cdn-cgi/trace çıktısındaki loc değerini ve CF-IPCountry başlığını kaydedin. Belge konumun tahmin olduğunu söyler; kuralınızı yalnız ülke koduna bağlamak yerine Managed Challenge gibi geri dönüşü olan bir eylemle başlayın ve engellenen ülkeleri dar tutun.
Test sonuçlarını ne kadar süre saklamalıyım? Kuralın her değişikliğinde matris yeniden koşulduğu için önceki turun tablosu karşılaştırma tabanıdır. Security Events 31 güne kadar geriye gider; kendi tablonuzu cf-ray değerleriyle birlikte saklarsanız bir ay sonra da hangi isteğin hangi kurala takıldığını bulabilirsiniz.
İlgili ürünler
İlgili içerikler
- Proxy Konumu Yanlış Görünüyor: IP Konum Veritabanları
- Proxy ile Captcha Neden Çıkar? Tetikleyen Sinyaller
- Çerez Onay Bandı Testi: Ülkeye Göre KVKK ve GDPR Kontrolü
- Residential Proxy’de Ülke Seçimi: Pazar Bazlı Rehber
- ISP Proxy mi Rotating Residential mı? Dört Soruda Karar
- Tarayıcı Parmak İzi ve Proxy Uyumu: IP ile Profil Eşleşmesi
- SEO Sıra Takibi
- Pazar Araştırması
