E-posta karartma: 2026'da etkili yöntemler neler?
(spencermortensen.com)- E-posta adreslerini spam toplayıcılardan korumak için çeşitli HTML·CSS·JavaScript karartma teknikleri denenerek engelleme oranları karşılaştırıldı
- 426 metin ve 399 bağlantı örneği üzerinde yapılan testlerde, JS tabanlı tekniklerin çoğu ile CSS·SVG yöntemlerinin 100% engelleme oranına ulaştığı görüldü
- HTML entity'leri ve URL encoding gibi eski yöntemler de hâlâ yüksek düzeyde engelleme etkisi gösterdi
- Buna karşılık görsel olarak gösterme, sembol değiştirme ve metin yönünü ters çevirme gibi yöntemler erişilebilirlik ve kullanılabilirliği ciddi biçimde bozdu
- 2026 itibarıyla JS dönüşümü, AES şifreleme ve kullanıcı etkileşimi tabanlı yöntemler en güvenli ve pratik e-posta koruma araçları olarak değerlendiriliyor
E-posta adresi karartma tekniklerinin karşılaştırması (2026 itibarıyla)
- E-posta adreslerini spam toplayıcılardan (harvester) gizlemek için kullanılan çeşitli karartma teknikleri ve her tekniğin gerçek etkisi istatistiklerle sunuluyor
- Her e-posta adresi farklı bir yöntemle korunduktan sonra, 426 (metin) ve 399 (bağlantı) örneği üzerinde toplayıcıların erişip erişemediği ölçülerek engelleme oranı hesaplandı
- JavaScript tabanlı tekniklerin çoğu ve bazı CSS·SVG teknikleri 100% engelleme oranı kaydetti
- HTML entity'leri ve URL encoding gibi eski yöntemler de hâlâ yüksek engelleme oranlarını koruyor
- Bazı teknikler erişilebilirlik veya kullanılabilirliği ciddi biçimde bozduğu için gerçek kullanımda uygun değil
1. Düz metin e-posta koruma teknikleri
- E-posta adresini sayfada doğrudan gösterirken, çeşitli HTML·CSS·JS teknikleriyle toplayıcının bunu okuyamamasını sağlamaya yönelik yöntemler
- Farklı teknikleri birleştirip segment bazında koruma uygulamak etkiyi en üst düzeye çıkarabilir
-
Koruma yok (No protection)
- Engelleme oranı 0% (426 örnekten 0'ı engellendi)
- E-posta adresi doğrudan açığa çıktığı için tüm toplayıcılar tarafından toplanıyor
-
HTML entity'leri (HTML Entities)
- Engelleme oranı 95%
- Sunucu tarafı kütüphaneleri bunu otomatik olarak decode etse de, pratikte çoğu toplayıcıyı engelliyor
-
HTML yorumları (HTML Comments)
- Engelleme oranı 99%
- Yalnızca HTML tag yorumlama kabiliyeti zayıf olan temel toplayıcıları engelleyebiliyor
- Basit olmasına rağmen hâlâ yüksek engelleme etkisini koruyor
-
HTML SVG
- Engelleme oranı 100%
- E-posta adresi SVG nesnesi içindeki metin olarak gizleniyor
- Görme engelli kullanıcılar için screen reader ile erişilebilir
<object>öğesinin kullanılması şart;<img>veya inline SVG, kaynak kodun açığa çıkmasına yol açabilir- Font bağımlılığı olduğundan web fontu belirtmek gerekiyor
-
CSS display:none
- Engelleme oranı 100%
- Stil kurallarını uygulayamayan toplayıcıların sınırlamalarından yararlanıyor
- Erişilebilirlik korunabiliyor; görsel gizleme yerine
display:nonekullanılması öneriliyor
-
JS string birleştirme (Concatenation)
- Engelleme oranı 100%
- Harici bağımlılık olmadan kolayca uygulanabiliyor
- E-postanın tamamı HTML kaynak kodunda bulunduğu için güvenlik açısından zayıf
-
JS Rot18
- Engelleme oranı 100%
- ROT13'e benzer bir karakter döndürme şifresi kullanıyor
- Basit toplayıcılar bunu çözemese de, JS'yi yok sayan toplayıcılara karşı zayıf
-
JS dönüşümü (Conversion)
- Engelleme oranı 100%
- HTML'de yalnızca anlamsız bir string bulunuyor, JS fonksiyonu bunu gerçek e-posta adresine dönüştürüyor
- Toplayıcıların çoğu DOM'a erişemediği ve JS çalıştıramadığı için geri dönüştüremiyor
- Basit ama çok etkili bir teknik
-
JS AES şifreleme
- Engelleme oranı 100%
- E-posta adresi AES-256 şifreleme ile korunuyor
- Tarayıcının SubtleCrypto API'si kullanılıyor ve yalnızca HTTPS ortamında çalışıyor
- JS dosyası olmadan şifre çözme mümkün değil
-
JS kullanıcı etkileşimi (User interaction)
- Engelleme oranı 100%
- E-posta yalnızca kullanıcı sayfayla etkileşime girdiğinde gösteriliyor
- Toplayıcının DOM çalıştırması + kullanıcı olayı simülasyonu yapması gerektiğinden pratikte mümkün değil
-
HTML sembol değiştirme (Symbol substitution)
- Engelleme oranı 96%
AT,DOTgibi ifadelerle değiştirme yapılıyor- Kullanıcının bunu elle düzeltmesi gerektiği için kullanılabilirlik düşüyor
-
HTML yönergeleri (Instructions)
- Engelleme oranı 100%
- E-postaya
remove the .fluffgibi manuel yönergeler ekleniyor - Bunu yalnızca insanlar veya yapay zeka yorumlayabiliyor, ancak kullanıcı açısından oldukça zahmetli
-
HTML görseli
- Engelleme oranı 100%
- E-posta adresi bir görsel olarak gösteriliyor
- Görme engelli kullanıcılar erişemiyor, kopyalanamıyor; yani kullanılabilirlik çöküyor
-
CSS content
- Engelleme oranı 100%
- E-posta
::afterpseudo-element'i ile gösteriliyor - Görsel olarak görünse de kopyalanamıyor ve yalnızca HTML üzerinden de geri çıkarılabiliyor
- İşe yaramayan bir teknik olarak değerlendiriliyor
-
CSS metin yönü (Text direction)
- Engelleme oranı 100%
- String,
direction: rtlile ters çevriliyor - Toplayıcı CSS'yi yok sayarsa kolayca çözülebiliyor
- Metin ters kopyalandığı için kullanılabilirlik bozuluyor
2. Tıklanabilir bağlantı koruma teknikleri
mailto:bağlantılarınınhrefniteliğini korumaya yönelik yöntemler- Bağlantı metninde e-posta yer alıyorsa, ayrıca metin karartma tekniğiyle birlikte kullanmak gerekiyor
-
Koruma yok
- Engelleme oranı 0% (399 örnekten 0'ı engellendi)
- E-posta adresi tamamen açığa çıkıyor
-
HTML entity'leri
- Engelleme oranı 100%
- Sunucu tarafında otomatik decode edilmesine rağmen çoğu toplayıcıyı engelliyor
-
URL encoding
- Engelleme oranı 95%
- Decode edilmesi kolay olsa da, pratikte çoğu toplayıcıyı engelliyor
-
HTTP redirect
- Engelleme oranı 100%
mailto:bağlantısı normal bir bağlantı gibi gizleniyor.htaccessiçinde 302 veya 301 redirect ayarlanıyor- Arama motoru indekslemesini önlemek için
nofollow, noindexkullanılıyor - E-posta alanlarının otomatik doldurulması için QSA flag'i gerekiyor
-
HTML SVG
- Engelleme oranı 100%
- E-posta bağlantısı SVG içine gizleniyor
- Erişilebilirlik korunuyor,
<object>kullanımı zorunlu - Font belirtmek gerekiyor
-
JS string birleştirme
- Engelleme oranı 100%
- Harici bağımlılık olmadan uygulanabiliyor
- E-posta HTML içinde doğrudan yer aldığı için güvenli değil
-
JS Rot18
- Engelleme oranı 99%
- ROT13'e benzer bir karakter döndürme yöntemi
- Basit toplayıcılar bunu çözemiyor
-
JS dönüşümü (Conversion)
- Engelleme oranı 100%
- HTML'de yalnızca sahte bir bağlantı bulunuyor ve JS bunu gerçek
mailto:bağlantısına dönüştürüyor - Toplayıcı yalnızca HTML'e erişebildiği için geri çıkaramıyor
- Basit ama çok etkili bir teknik
-
JS AES şifreleme
- Engelleme oranı 100%
- AES-256 ile şifrelenmiş e-posta bağlantısı
- Tarayıcının
SubtleCrypto API'si kullanılıyor, HTTPS gerekiyor
-
JS kullanıcı etkileşimi
- Engelleme oranı 100%
- Bağlantı ancak kullanıcı sayfayla etkileşime girdikten sonra etkinleşiyor
- Toplayıcıların bunu yeniden üretmesi zor
3. Eleştiriler ve karşı argümanlar
- “Spam gönderenler web'i kazımıyor, sızdırılmış veritabanlarını satın alıyor” iddiasına karşı
- Bu sayfadaki e-posta adresleri yalnızca bu sayfada yayımlanmış olmasına rağmen binlerce spam aldı
- “Koruma gerekmez” iddiasına karşı
- Popüler içerikler yoğun biçimde toplandığı için viral olma ihtimali düşünülerek koruma gerekli
- “Spam filtresi varsa yeter” iddiasına karşı
- Bu teknikler yanlış pozitif oluşturmadan ücretsiz uygulanabiliyor; filtrelerle birlikte kullanılması tercih edilmeli
- “Yöntem bilinince işe yaramaz” iddiasına karşı
- On yıllardır aynı tekniklerin hâlâ etkili olduğu istatistiklerle doğrulanıyor
4. Deney metodolojisi
- Her karartma tekniğiyle korunan e-posta adresleri gerçekten yayımlanarak toplayıcılar için honeypot olarak kullanıldı
- Spam ulaştığında, ilgili adresin koruma tekniğinin aşıldığı kabul edildi
- Mesajlar spam gönderen bazında gruplanarak gönderen sayısına göre istatistik çıkarıldı
- Spam filtrelemenin istatistikleri çarpıtmaması için doğrudan bir posta sunucusu ve istemci kuruldu
- Metin tabanlı ve bağlantı tabanlı toplayıcılar farklı olduğundan istatistikler ayrı tutuldu
- Örneklem sayısı henüz küçük olsa da, bağlantı sayısı arttıkça istatistiklerin güvenilirliğinin artması bekleniyor
Sonuç
- JS tabanlı dönüşüm, şifreleme ve kullanıcı etkileşimi teknikleri en yüksek güvenlik ve erişilebilirlik düzeyini sağlıyor
- CSS
display:noneve SVG nesne yöntemi de erişilebilirlik ve engelleme oranı açısından güçlü seçenekler - Sembol değiştirme, görsel kullanımı ve metin yönünü ters çevirme gibi yöntemler kullanılabilirliği ciddi biçimde bozduğu için önerilmiyor
- E-posta adresini yayımlamak gerekiyorsa, basit bir JS dönüşümü veya AES şifreleme yöntemi 2026 itibarıyla en etkili seçenek olarak öne çıkıyor
1 yorum
Hacker News yorumları
Eskiden e-posta toplama konusuna dikkat ederdim ama artık e-postamı web sitemde açıkça yayınlıyorum
spam filtreleme yeterince iyi
Yine de bu teknik inceleme ilgi çekiciydi. Basit yöntemlerin bile oldukça etkili olmasına şaşırdım
mailto:bağlantısıyla düz metin olarak yayınlıyorum, ama günde sadece birkaç spam geliyorBelki Zoho’nun filtrelemesi iyidir ama büyük servislerden özellikle daha iyi olduğunu düşünmüyorum
Bu yüzden kendine özgü basit bir yöntem kullanmak sorun olmayabilir, ama bunu paylaşırsan hemen etkisiz hale gelebilir
display:nonegibi basit yöntemlerle %90’dan fazlası engellenebiliyorsa yeniden düşünmeye değerE-posta adresim GitHub’daki popüler açık kaynak depoların commit’lerinde 90’dan fazla kez düz metin olarak yer alıyor
Ama 8 yıldır neredeyse hiç spam almadım
<ve>ile çevrili biçim toplayıcıları şaşırtıyor olabilirBugünlerde doğrudan toplamak yerine e-posta listesi satın almak daha yaygın gibi görünüyor
git@,contact@,admin@gibi adreslere sık sık spam geliyorSon zamanlarda
finance@gibi sahte adreslere CEO taklidi yapan mailler de geliyorİşin ironik yanı, HN profilimde düz metin olarak duran e-posta adresime neredeyse hiç spam gelmiyor
Benim hipotezim, e-posta toplayıcılarının HTML parse etmediği, sadece
@karakterinin etrafındaki dizeleri aradığı yönündeHTML parse etmek maliyetli olduğu için böyle basit bir yaklaşım verimli olabilir
Bu yüzden HTML entity’leri etkili gibi görünüyor
Bu yüzden bu tür adresleri tamamen görmezden geliyor olabilirler
@çevresindeki token’lara dayalı çıkarım da küçük değişikliklerle gayet işe yararYazı iyi yazılmış ama alan adının tamamına sahip olup her alıcıya benzersiz e-posta verme yönteminden bahsetmemesi üzücü
Spam gelirse sadece o adresi engellersin
Ya da hiç e-posta kullanmadan yaşamak da mümkün. Bugünlerde çoğu iş geçici e-posta ile halledilebiliyor
Ama spam’in çoğu arkadaşlarımın ya da ailemin adresimi uygulamalarla paylaşması yüzünden geliyor
Açık e-posta adreslerini basit bir JavaScript birleştirme yöntemiyle %100 engelleyebildim
Etkisi benzer ve yönetmesi çok daha kolay
Web sitesinde gizli bir tarpit e-posta adresi bulundurma yöntemi var
CSS ile gizleniyor, insanlar görmüyor, bot mail gönderirse ilgili IP 24 saat engelleniyor
Çünkü Gmail hesaplarından gelen spam de var, bu yüzden yan etkisi büyük
İçerik iyi ama başlık için ‘Email address obfuscation’ daha uygun olurdu diye düşünüyorum
Yine de böyle yazılar görünce spamer’ların da bir şeyler öğrenebileceğini düşünmeden edemiyorum
Eskiden “me at foobar dot com” gibi yazımın hâlâ işe yarayıp yaramadığını merak edip test ettim
LLM kullanarak çeşitli e-posta obfuscation yöntemlerini çözmeyi denedim; CSS veya JS tabanlı olmayanların çoğu yorumlanabiliyordu
Yine de bugünlerde spam filtreleri iyi çalıştığı için düz metin e-posta yayınlamak büyük sorun olmadı
Hatta servis bildirim mailleri daha can sıkıcı
Kötüye kullanım olursa sadece o adresi devre dışı bırakırsın
İstemci ve mail sunucusu böyle bir API desteklese ideal olurdu
Bu yüzden basit regex botlarını durduran temel obfuscation hâlâ işe yarıyor diye düşünüyorum
Bu yılın başında C ile bir Brainfuck interpreter yaparken bunu e-posta obfuscation için denedim
Her e-postayı bir Brainfuck programı olarak sakladım, JS interpreter da çalıştırıp düz metni gösteriyordu
JS dış bir alan adından yükleniyordu ve referer doğrulamasından sonra gerçek kod gönderiliyordu
Elbette JS çalıştıran toplayıcılara karşı işe yaramaz ama yaratıcı bir obfuscation deneyi olarak ilginçti
Bu yazı biraz da e-posta toplayıcılarını daha akıllı hale getirme rehberi gibi görünüyor