Geonode logo
Geonode Team

Geonode Team

Güncellenme: 7 Ekim 2026

Yayınlanma: 2 Eylül 2026

Web Veri Toplamada Honeypot Tuzakları: Kapsamlı Bir Kılavuz

Bal küpü tuzağı, yalnızca otomatik bir istemcinin etkileşime gireceği şekilde bir sayfaya özel olarak yerleştirilen içeriktir. Bir insan bunu asla görmez; deneyimsiz bir tarayıcı ise hemen bu tuzağa kapılır. Bu tuzaklar, sayfa altındaki görünmez bir bağlantıdan, tarayıcının hesaplama kaynaklarını günlerce boşa harcamak üzere tasarlanmış, sonsuz bir labirente kadar uzanır. Bu kılavuz, gerçekte karşılaşabileceğiniz altı türü, bunlardan nasıl kaçınabileceğinizi ve — aynı bilgi her iki taraf için de geçerli olduğundan — bunların nasıl kullanıldığını ele almaktadır.

Açıkça belirtmek gerekirse: Biz Geonode olarak proxy satışı yapıyoruz; dolayısıyla ticari çıkarlarımız gereği bu konuda tarayıcı tarafındayız. Dürüstçe söylemek gerekirse, honeypot'lardan kaçınmanın çoğu sadece doğru şekilde tarama yapmaktan ibarettir ve en etkili önlem hiçbir maliyeti olmayan bir önlemdir: robots.txt adresine uymak. Tuzakların büyük bir kısmı, sitenin tarayıcılardan ziyaret etmemelerini istediği yollara yerleştirilmiştir, bu nedenle kurallara uyan bir tarayıcı bunlarla asla karşılaşmaz. Geri kalanlar ise CSS’yi işleyerek, davet edilmediğiniz formları göndermeyerek ve taramanızı sınırlayarak önlenebilir. Bunların hiçbiri bizden bir şey satın almanızı gerektirmez; bir honeypot’tan kurtulmak için proxy’lere ihtiyaç duyan bir tarayıcı, zaten daha temel bir hata yapmış demektir.

Honeypot Tuzağı Nedir?

Tanımı teknik olmaktan ziyade davranışsal niteliktedir: Bu, yalnızca otomatik bir istemcinin etkileşime gireceği ve bu etkileşim sayesinde istemcinin otomatik olduğu tespit edilebilmesi amacıyla yerleştirilmiş içeriktir.

Mantığı basittir ve buna karşı çıkmak oldukça zordur. İnsan bir ziyaretçi, CSS uygulayan, bir düzen oluşturan ve görünür olanı gösteren bir tarayıcı kullanır. HTML'yi ayrıştıran bir tarayıcı, işaretlemedeki her şeyi eşit şekilde görür — görünmez olacak şekilde biçimlendirilmiş bir bağlantı, ekran dışında gizlenmiş bir form alanı ve bir kişinin bakabileceği hiçbir yerden bağlantı verilmeyen bir yol dahil.

Bunlardan herhangi biriyle etkileşim kurmak güçlü bir işarettir. Erişilebilirlik araçları ve metin modu tarayıcılar da farklı davrandığı için kesin bir kanıt sayılmaz, ancak sitelerin buna göre hareket etmesine yetecek kadar güçlüdür.

Sonuçlar siteye göre değişir. Bazıları bunu kaydeder ve görmezden gelir. Bazıları erişim hızını sınırlar. Bazıları adresi engeller. Bazıları ise süresiz olarak kalitesiz içerik sunar; bu, başarılı gibi göründüğü için en kötü sonuçtur. Bazıları ise artık aşağıda ele alınacağı üzere daha ayrıntılı önlemler almaktadır.

Karşılaşacağınız Altı Tür

1. Görünmez bağlantılar. display: none, visibility: hidden ile biçimlendirilmiş, boyutları sıfır olan, arka plan rengiyle aynı renkteki veya ekran dışına konumlandırılmış bağlantılar. HTML’de mevcut, görüntülenen sayfada görünmez.

<a href="/trap/do-not-follow" style="display:none">Products</a>
<a href="/hidden" class="visually-hidden">Sitemap</a>

En yaygın türdür ve önlenmesi en kolay olanıdır.

2. İzin verilmeyen yollar. Yalnızca robots.txt adresinde, Disallow yönergesi altında görünen ve hiçbir yerden bağlantı verilmeyen URL’ler. Bunları bulmanın tek yolu, hariç tutma dosyasını okumak ve ardından bunları göz ardı etmektir — bu da o yola yapılan bir isteğin, kasıtlı uyumsuzluğun neredeyse kusursuz bir işareti olduğunu gösterir.

3. Gizli form alanları. CSS ile gizlenmiş ve bir insanın asla doldurmayacağı bir alan. Bu alan için bir değer içeren herhangi bir gönderim, HTML'yi ayrıştıran bir kaynaktan gelmiştir. Yorum formlarında ve kayıt akışlarında yaygındır; bu durumlarda meşru ve etkili bir spam önleme tedbiridir.

4. Sonsuz URL alanları. Her zaman kasıtlı değildir, ancak her iki durumda da eşit derecede zararlıdır. “Gelecek ay” bağlantısı olan bir takvim, sınırsız sayıda URL üretir. Büyük bir katalogdaki yönlü gezinme, kombinasyonel patlamalara yol açar. Derinlik ve desen sınırlamaları olmayan bir tarayıcı, bir şey onu durdurana kadar bu URL’leri takip eder.

5. Zamanlama tuzakları. Yalnızca bir gecikmeden sonra görünen içerikler veya bir insanın yapabileceğinden daha hızlı doldurulan formları reddeden formlar. Bunlar, işaretlemeyi çözümleyen istemciler yerine anında hareket eden istemcileri yakalar.

6. Zehirli veya üretilmiş içerik. En yeni kategori olup, kendi bölümünü hak edecek kadar önemlidir.

AI Tarpits ve Oluşturulmuş Labirentler

Gerçek anlamda yeni bir gelişme ve bu konunun son birkaç yılda şekil değiştirmesinin nedeni.

Cloudflare’in AI Labyrinth projesi, bu alanda en yaygın olarak kullanılan örnektir. Cloudflare, bunu “AI tarayıcılarını yavaşlatmak, kafalarını karıştırmak ve kaynaklarını boşa harcamak için AI tarafından üretilen içeriği kullanan yeni bir önleme yaklaşımı” olarak tanımlamaktadır.

Mekanizma şu şekildedir: Workers AI, çeşitli konularda farklı HTML sayfaları oluşturur; bu sayfalar hızlı sunum için R2'de depolanır ve bu tuzak sayfalar, "insan ziyaretçiler tarafından görülemeyen ancak bot tarayıcıları tarafından erişilebilen" gizli bağlantılar aracılığıyla gerçek sayfalardan bağlanır.

Cloudflare'in bunun neden işe yaradığını açıklayan ifadesi, bugüne kadar yazılmış en keskin "honeypot" ilkesi açıklamasıdır:

Hiçbir gerçek insan, yapay zeka tarafından üretilmiş anlamsız içeriklerden oluşan bir labirentin dört bağlantı derinliğine kadar girmez.

En önemlisi, sunulan içerik “gerçek ve bilimsel gerçeklerle ilgili, ancak taranan siteyle alakalı ya da siteye ait değil” — bu nedenle bir tarayıcı, metnin tutarlı olup olmadığını kontrol ederek bunu tespit edemez. Metin tutarlıdır. Sadece başka bir konuyla ilgilidir.

Bu özellik, ücretsiz kademesi de dahil olmak üzere tüm Cloudflare planlarında mevcuttur ve etkinleştirilmesi, "ek yapılandırma gerektirmeden" bot yönetimi bölümündeki tek bir anahtarla gerçekleştirilir.

Bağımsız araçlar da aynı prensiple çalışır. Nepenthes, çıkış bağlantısı olmayan sonsuz bir sayfa labirenti oluşturur. Iocaine ise ters proxy olarak çalışır ve anlaşılması gereken ek bir adım atar: sunduğu URL’leri zehirler; böylece daha sonra tarayıcı kılığına girerek geri dönen bir tarayıcı, istek kuyruğunda yalnızca tarpit’in dağıttığı URL’lerin bulunması nedeniyle yine de tespit edilebilir. Bu, anlık bir işaretten ziyade kalıcı bir işarettir.

Bir tarayıcı çalıştıran herkes için iki sonuç ortaya çıkar.

İçerik kalitesine dayalı tespit işe yaramaz. Sayfalar tutarlı ve gerçeklere dayalıdır. Onları belirleyen özellik, siteyle alakasız olmaları, bir kişinin bulabileceği hiçbir yerden bağlantı almamaları ve sayılarının sınırsız olmasıdır.

Taramanızı sınırlamak artık sadece düzen sağlamak için değil, zorunludur. Derinlik sınırları, sayfa sayısı sınırları ve yinelenen içerik algılama özelliği olmayan bir tarayıcı, günlerce süren hesaplama gücü ve gigabaytlarca ölçümlü bant genişliğini anlamsız veriler üretmek için harcayabilir ve hiçbir aşamada hata mesajı almayabilir. Gigabayt başına ücretlendirme sisteminde bu, hiçbir şey karşılığında ödenen gerçek bir faturadır.

Kurnazlık Yapmadan Bunlardan Nasıl Kaçınılır

Buradaki her önlem, iyi tasarlanmış bir tarayıcının zaten yapması gereken şeylerdir.

robots.txt ilkesine uyun. Bu tek başına tuzakların büyük bir kısmını önler, çünkü siteler yasaklanan yolları buraya yerleştirir. Bu artık bir standarttır — RFC 9309 — ve sıraya göre değil, özgüllüğe göre eşleştirme yapılır; bunu doğru şekilde okumayı robots.txt dosyasını nasıl okunur başlıklı yazımızda ele aldık.

Bir bağlantıyı takip etmeden önce hesaplanan görünürlüğü kontrol edin. Başsız bir tarayıcıda bu işlem oldukça basittir:

const links = await page.$$eval('a[href]', els =>
  els.filter(el => {
    const s = getComputedStyle(el);
    const r = el.getBoundingClientRect();
    return s.display !== 'none' && s.visibility !== 'hidden' &&
           parseFloat(s.opacity) > 0 && r.width > 1 && r.height > 1;
  }).map(el => el.href)
);

Not: Satır içi style özniteliğini okumak yerine getComputedStyle adresini kullanın — bir stil sayfası kuralıyla gizlenmiş bir bağlantının incelenebilecek satır içi stili yoktur.

Tarayıcı olmadan, sezgisel yöntemler uygulayın: satır içi stilinde display:none veya visibility:hidden içeren bağlantıları atlayın, boş bağlantı metinlerini atlayın, hidden, visually-hidden ve sr-only gibi sınıf adlarını atlayın ve href'si görünür metinde hiçbir yerde geçmeyen bağlantılardan şüphelenin.

Tarama sınırlarını kesin olarak belirleyin. Maksimum derinlik, maksimum sayfa sayısı ve etki alanı başına bütçe belirleyin. Bu bir yedek plan değil, kesin bir durdurma önlemidir. Bu, nasıl oluşturulduklarına bakılmaksızın sonsuz alanlara karşı işe yarayan tek savunmadır.

Tekrarları tespit edin. İçerik karma analizi, yüzeysel olarak farklılık gösteren oluşturulan sayfaları yakalar. URL kalıbı analizi, sınırsızca büyüyen yolları yakalar. Bir dizin iki yüz sayfa üretmişse ve sona erme belirtisi göstermiyorsa, durun ve inceleyin.

Davet edilmediğiniz formları göndermeyin. Gizli alan tuzakları, yalnızca buldukları her giriş alanını dolduran istemcileri yakalar.

Hız sınırlaması ve tempo. İnsan benzeri zamanlama, zamanlama tuzaklarını önler ve aynı zamanda diğer tüm sinyalleri azaltır.

Kimliğinizi belirtin. Bir adı ve iletişim URL’si olan bir tarayıcı, operatörün izin vermeyi seçebileceği bir tarayıcıdır. Bu tam olarak bir tuzak önleme tedbiri değildir, ancak bir tuzağa takıldığınızda ne olacağını değiştirir.

Vahşi Ortamda Bir Tuzak Tespit Etmek

Bir tuzağa girdiğinizi gösteren işaretler; ortaya çıkma hızlarına göre kabaca sıralanmıştır.

Sayfa sayısı azalmıyor. Kuyruk küçülmek yerine sürekli büyüyor; bu, en erken uyarıdır ve tespit edilmesi en kolay olanıdır.

İçerik tutarlı ancak alakasız. Okunması kolay ancak sitenin asıl konusuyla hiçbir ilgisi olmayan sayfalar. Bu, AI Labyrinth'in tipik özelliğidir.

URL'ler belirli bir kalıba uyuyor. Uzun yollar, alışılmadık segment yapıları ve gerçek bir sitede olması beklenen URL'lerin tekrarlanmaması.

Mantıklı hiçbir yerden gelen bağlantı yok. Sayfalar birbirine bağlantı veriyor, ancak dışarıdan gelen hiçbir bağlantı yok.

Yanıt süreleri şüphe uyandıracak kadar tekdüze. Oluşturulan içerik önbellekten sunulur; gerçek sayfalar ise değişiklik gösterir.

Hata oranınız değişmeden veri kaliteniz düşer. En belirgin geç aşama sinyali budur ve her şeyin 200 yanıtı vermesinin öneminin nedeni de budur.

Pratik kontrol, manuel bir kontrol değil, sürekli çalışan bir doğrulamadır: Tarama süresince keşfedilen yeni URL'lerin, getirilen sayfalara oranının düşmemesi durumunda, bir şey URL'leri sizin tüketebileceğinizden daha hızlı bir şekilde oluşturuyor demektir ve sınırlı bir sitenin taraması asla bu şekilde davranmaz.

Site Sahipleri İçin: Bunları Uygulama

Kısaca diğer taraf da; çünkü aynı anlayış her iki taraf için de geçerlidir.

Gizli form alanları en iyi seçenektir. Eklemesi çok kolaydır, otomatik form gönderimlerine karşı etkilidir ve gerçek kullanıcılar üzerinde hiçbir etkisi yoktur. Alana zararsız bir ad verin, satır içi yerine stil sayfasında CSS ile gizleyin ve bu alanı dolduran tüm gönderimleri reddedin.

Gizli bağlantılar, sayfayı görüntülemeyen tarayıcıları yakalar. Etkilidir ve uyumlu tarayıcıların yakalanmaması içrobots.txt'de "disallow" ile birlikte kullanılması tavsiye edilir. Hariç tutmadığınız bir tuzak nedeniyle iyi davranan bir tarayıcıyı cezalandırmak, kendi kendinize yarattığınız bir sorundur.

Yönetilen tarpits artık bir açma/kapama seçeneğidir. Cloudflare'in sunduğu bu özellik, ücretsiz plan dahil tüm planlarda mevcuttur ve herhangi bir yapılandırma gerektirmez; bu da onu her sitenin erişimine açık hale getirir.

Erişilebilirlik asıl kısıtlayıcı faktördür. Ekran okuyucular ve metin tarayıcıları, görme engelli olmayan bir kullanıcının tarayıcısının yaptığı gibi görsel stil uygulamaz. display: none'i kullanan bir tuzak, yardımcı teknolojilerin bunu dikkate alması nedeniyle genellikle güvenlidir; ekran dışı konumlandırma veya şeffaf metin kullanan bir tuzak ise ekran okuyucu kullanıcısına duyurulabilir ve kullanıcı bu tuzağı takip ederek engellenebilir. Bunları kullanırsanız, bir ekran okuyucu ile test edin.

Ve aslında ne istediğinize karar verin. Arama motorları, fiyat karşılaştırma ortakları, erişilebilirlik araçları, izleme hizmetleri ve yapay zeka ajanları, hepsi otomatik trafik gönderir ve bunların bir kısmını istersiniz. Genel bir tuzak, hepsini yakalar. Kullanıcı aracısı yoluyla iyi olduğu bilinen tarayıcıları hariç tutmak ve tuzakları yalnızca robots.txt adresinin zaten yasakladığı yollara yerleştirmek, itiraz ettiğiniz trafiği yakalayıp geri kalanını koruyan düzenlemedir.

Ne Zaman Uyum Sağlamak Yerine Durmak Gerekir

Ürünümüzün temelini oluşturan şeyin “uyum sağlama” olduğu bir tedarikçi olarak, bu konudaki kararımızı açıkça belirtmekte fayda var.

Bir site tuzaklar kurmuşsa, bu bir mesaj vermektedir. robots.txt adresindeki erişim engellemeleri ve otomatik erişimi yasaklayan şartlarla birleştiğinde, bu mesaj belirsiz değildir ve bunu aşmak için mühendislik çalışmalarına devam etmek, teknik boyutun ötesinde sonuçları olan bir tercihtir.

Alternatifler genellikle daha iyidir ve neredeyse her zaman daha ucuzdur:

Sorun. Kim olduğunuzu ve neye ihtiyacınız olduğunu açıklayan bir e-posta, bu sorunu insanların beklediğinden daha sık çözer; bir iş ortağı beslemesi ise sorunu tamamen ortadan kaldırır.

Resmi bir API olup olmadığını kontrol edin. Agresif koruma uygulayan birçok site, tam da meşru kullanıcıların başvurabileceği bir yer olması için bir API yayınlar.

Verilerin başka bir yerde mevcut olup olmadığını kontrol edin. Halka açık veri kümeleri, arşivler, resmi kayıtlar, lisanslı sağlayıcılar.

İhtiyacınızı azaltın. Çoğu veri toplama işlemi, sorunun gerektirdiğinden çok daha fazlasını toplar. Daha küçük bir talep, meşru yollarla karşılanması daha kolaydır.

Ve pratik bir nokta: Tarpit'ler, size siteye maliyeti daha fazla olacak şekilde tasarlanmıştır. Cloudflare sayfaları bir kez oluşturur ve depolama alanından sunar; siz ise gigabayt başına, hesaplama saati başına ve mühendislik süresi başına ödeme yaparsınız. Bu asimetri kasıtlıdır ve çaba sarf etseniz de düzelmez.

İnsanlar Ayrıca Şunları Soruyor

Web veri kazımada “honeypot tuzağı” nedir?

Yalnızca otomatik bir istemcinin etkileşime gireceği, bir sayfaya yerleştirilen içerik — görünmez bir bağlantı, gizli bir form alanı veya bir insanın asla bakmayacağı bir yerden bağlantı verilen bir yol. Bu öğeyle etkileşim kurmak, istemcinin bir bot olduğunu ortaya çıkarır ve siteler buna kayıt tutma, hız sınırlama veya engelleme ile yanıt verir.

Honeypot tuzaklarından nasıl kaçınabilirim?

robots.txt kuralına uyun, çünkü birçok tuzak izin verilmeyen yollarda bulunur. Ham HTML'yi ayrıştırmak yerine, bağlantıları takip etmeden önce hesaplanmış görünürlüğü kontrol edin. Size gösterilmeyen form alanlarını doldurmayın. Ayrıca, taramanızı sabit derinlik ve sayfa sayısı sınırlarıyla sınırlayın; bu, sonsuz alanlara karşı tek savunmadır.

AI tarpit nedir?

Otomatik tarayıcılara, kaynaklarını tüketmek amacıyla oluşturulmuş sayfaların sonsuz bir labirentini sunan bir sistemdir. Cloudflare'in AI Labyrinth'i, siteyle hiçbir ilgisi olmayan, gerçek sayfalardan görünmez bir şekilde bağlantı verilen tutarlı ve gerçeklere dayalı içerik üretir. Bu özellik, ücretsiz plan dahil tüm planlarda tek bir anahtarla kullanılabilir.

Bir honeypot'a düşmeden önce onu tespit edebilir miyim?

Kısmen. Sayfayı görüntülemek ve hesaplanan stilleri kontrol etmek, gizli bağlantıları güvenilir bir şekilde tespit etmenizi sağlar. Oluşturulan labirentler ise daha zordur, çünkü içerik tutarlıdır — sinyaller arasında sürekli büyüyen bir kuyruk, siteyle alakasız içerik ve tekrarlanmayan URL kalıpları bulunur. Taramayı sınırlamak, her durumda işe yarayan bir savunma yöntemidir.

Gizli bağlantılar SEO’ya veya erişilebilirliğe zarar verir mi?

Gizli metinler, tarihsel olarak arama motorları tarafından manipülatif olarak değerlendirilmiştir; bu nedenle tuzaklar genellikle robots.txt disallow komutuyla eşleştirilir. Erişilebilirlik ise daha büyük bir endişe kaynağıdır: display: none yardımcı teknolojiler tarafından desteklenir, ancak ekran dışı veya şeffaf metinler bir ekran okuyucu kullanıcısına duyurulabilir ve kullanıcı bu metni takip edebilir.

Tarayıcım bir honeypot'a rastlarsa ne olur?

Duruma göre değişir. Bazı siteler bunu günlüğe kaydeder, bazıları erişim hızını sınırlar, bazıları adresi engeller ve bazıları da süresiz olarak kalitesiz içerik sunar — bu en kötü senaryodur, çünkü her şey 200 yanıtı verir ve verileriniz fark edilmeden kalitesini yitirir. Tarpit'ler ise farklı davranır: size sonsuza kadar içerik sunmaya devam ederler.

Honeypot tuzakları yasal mıdır?

Bunları kendi sitenize yerleştirmek tamamen yasaldır — ne sunacağınıza siz karar verirsiniz. Bir sitenin elde ettiği kimlik bilgilerini nasıl kullanacağı, sitenin kullanım koşullarına tabidir. Tarayıcı açısından bakıldığında, bir tuzağa takılmak başlı başına yasa dışı değildir; ancak hizmet şartlarını ihlal edebilir ve bu da sözleşmeye dayalı bir konudur.

Tarayıcımın bir tarpit üzerinde para israf etmesini nasıl önleyebilirim?

Etki alanı başına derinlik ve sayfa sayısı için katı sınırlar koymak, neredeyse aynı olan sayfaları tespit etmek için içerik karma işlemi uygulamak ve yeni keşfedilen URL’lerin, alınan sayfalara oranının düşmemesi durumunda bir uyarı vermek. Bunlar olmadan, kotalı bir tarayıcı, mükemmel bir başarı oranı bildirirken, oluşturulan sayfalara günler ve gigabaytlarca zaman harcayabilir.

Sonuç

Honeypot tuzakları tek bir varsayım üzerine işler: bir tarayıcının kaynak kodunu görürken, bir insanın ise sayfanın görüntülenmiş halini gördüğü varsayımı. Geri kalan her şey bir varyasyondur — görünmez bir bağlantı, gizli bir alan, yalnızca robots.txt adresinde bahsedilen bir yol ya da hiç bitmeyen bir labirent.

Bu savunma yöntemleri, iyi tasarlanmış bir tarayıcının zaten yapması gereken şeylerdir. robots.txt adresine uymaya özen gösterin, çünkü birçok tuzak burada bulunur ve bu kurallara uymak hiçbir maliyeti yoktur. Ham HTML’yi ayrıştırmak yerine hesaplanmış görünürlüğü kontrol edin. Size gösterilmedikçe formlara dokunmayın. Ve taramanızı katı sınırlarla sınırlayın; bu, içeriği kasıtlı olarak gerçek metinlerden ayırt edilemeyen, oluşturulmuş labirentlere karşı sizi koruyan tek önlemdir.

Bu son kategori, ekonomiyi değiştirdi. Yönetilen bir tuzak sayfalarını bir kez oluşturur ve önbellekten sunar; bir tarayıcı ise gigabayt başına ve hesaplama saati başına ödeme yapar ve her seferinde 200 yanıtı alır. Asimetri işin özüdür; bu özellik artık tek bir anahtarla herhangi bir site için kullanılabilir durumdadır ve çabaya boyun eğmez.

Bu da, pek çekici görünmeyen bu seçeneği ciddiye almaya değer kılıyor. Tuzaklar kurmuş bir site size bir şey söylemiştir; bir besleme istemek, bir API olup olmadığını kontrol etmek veya verileri başka bir yerde bulmak, genellikle sizin kaybetmenizi sağlayacak şekilde düzenlemeler yapmış birini teknik olarak alt etmekten daha hızlı, daha ucuz ve daha kalıcıdır.