Soru Web sayfasındaki e-posta adreslerini botlardan güvenli hale getirme?


Bir web sayfasına e-posta adresi yerleştirirken, bunları şu şekilde metin olarak yerleştirirsiniz:

joe.somebody@company.com

veya e-posta adresi biçerdöver botlarını denemek ve aldatmak için akıllı bir numara kullanın? Örneğin:

HTML Kaçış Karakterleri:

joe.somebody@company.com

Javascript Decrypter:

function XOR_Crypt(EmailAddress)
{
    Result = new String();
    for (var i = 0; i < EmailAddress.length; i++)
    {
        Result += String.fromCharCode(EmailAddress.charCodeAt(i) ^ 128);
    }
    document.write(Result);
}

XOR_Crypt("êïåóïíåâïäùÀãïíðáîùãïí");

İnsan Decode:

joe.somebodyNOSPAM@company.com

joe.somebody AT company.com

Ne kullanıyorsun yoksa rahatsız ediyor musun?


44
2017-10-02 17:45


Menşei


tesadüfen, bir "örnek" alan için her zaman example.com kullanmalısınız. RFC-2606'ya bakınız. - nsayer
Aslında, botu gerçekten kandıramazsın! Sadece HTML kaçış karakterlerinizi kopyalayıp Google'a yapıştırın ve ne demek istediğimi görün. En iyi yolun özel bir JavaScript kullanması olduğunu düşünüyorum. - katamayros


Cevaplar:


Genelde rahatsız etmem. Her gün binlerce bin spam içeren bir posta listesinde yer alırdım. Spam filtremiz (spamassassin) 1 veya 2 gün geçmesine izin veriyor. Filtreler bu kadar iyi, neden meşru insanların sizinle iletişim kurmasını zorlaştırıyorsunuz?


46
2017-10-02 17:47





Kendi çılgın e-posta adresinizi gizleme şemasını icat edin. Gerçekten bilinen yöntemlerden herhangi birine benzemediği sürece, ne olduğu önemli değil.

Sorun şu ki, gerçekten bunun için iyi bir çözüm yok, hepsi ya atlamak için nispeten basit, ya da kullanıcı için rahatsız edici. Herhangi bir yöntem yaygınlaşırsa, o zaman biri irade etrafında bir yol bulmak.

Bu yüzden, Tek Gerçek e-posta adresi gizleme tekniğini aramaktan ziyade, kendi kendinize gelin. Bu bot yazarlarının siteniz hakkında yeterince önem vermediği gerçeğine güvenerek biraz deli render-text-with-css-ve-element-border'larınızı veya tamamen tuhaf, kolayca çatlamış javascript şifrelemenizi atlatmak için bir şeyler yazabilirsiniz. . Önemsiz olup olmadığı farketmez, kimse sizi spam yapabilmeleri için baypas etmekten rahatsız olmaz.


25
2017-10-02 18:04



bu kadarıyla en iyi yaklaşım - john Smith


Bir tane yazdım kodlayıcı (kaynak) düşünebildiğim tüm ayrıştırma hilelerini kullanır (farklı türde HTML öğeleri, URL kodlaması, yorumlar, çok satırlı öznitelikler, yumuşak tireler, mailto'nun açık olmayan yapısı: URL, vb.)

Tüm hasat makinelerini durdurmaz, ancak OTOH tamamen standartlara uygun ve kullanıcılara şeffaftır.

Başka bir IMHO iyi yaklaşımı (zorlu kodlamaya ek olarak kullanabileceğiniz) şu satırların arasındadır:

<a href="mailto:userhatestogetspam@example.com" 
   onclick="this.href=this.href.replace(/hatestogetspam/,'')">

16
2017-11-17 21:18



İkinci yaklaşımın fikrini beğeniyorum, ancak linkin üzerine geldiğinizde maskelenmiş adresi gösterdiğinden, değiştirilen kelime için küfür kullanmadığınızdan emin olun;) - demoncodemonkey


E-posta adresinizi reCAPTCHA ile koruyabilmeniz için, ücretsiz bir hizmet sundukları için, insanların e-postanızı görmeleri için bir CAPTCHA (Tamamen Otomatik Kamusal Turing testini Bilgisayarlar ve İnsanlara Anlatmak için test etme) girmeleri gerekir: https://www.google.com/recaptcha/admin#mailhide


14
2017-10-02 17:52



Bunu sitemde yapıyorum ve kesinlikle tavsiye ederim. - nsayer
Bu gerçekten harika. Bir süre önce reCAPTCHA girişimini öğrendim ve bu onu tanıtmanın harika bir yolu. - polara
CAPTCHA% 100 güvenilir bir çözüm değildir. Bakınız örn. blackhat-seo.com/2009/captcha-farms - mouviciel
Noktanın bir kısmı, görüntüleyenlerin e-posta adreslerini almasını kolaylaştırmak ... bu "kolay" nasıl? - Robert K
Bunu hacklemenin kolay olduğunu buldum, ama en az insan etkileşimi gerektiriyor, bu yüzden binlerce insanın tüm gün captchaları çözdüğünü hayal edin. Thats neden para maliyeti nedeni - john Smith


Rahatsız etmem - SPAM savaşında yanlış seviyede mücadele ediyor. Özellikle şirket web siteleri için bir mailto köprüsüyle sayfanın düz metninden başka bir şeyiniz varsa, işlerin çok profesyonelce yapılmasını sağladığını düşünüyorum.

Etrafta süzülecek çok fazla spam var, zaten iyi bir filtrelemeye ihtiyacınız var, ve herhangi bir bot, tüm ortak numaraları anlamaya devam edecek.


7
2017-10-02 17:50



Ortak hileleri anlayan bir bot hakkında bu şey yanlış. AFAIK, spam gönderenler genellikle herhangi bir OCR veya javascript değerlendirmesini denemezler, çünkü gerçekten ihtiyaç duymadıkları için. - PeterAllenWebb
Şirket web sitelerinin, düz bir mailto'dan başka bir şeye sahip olmayan yorumlarına katılıyorum: link, ancak bu linkler daima "sales @" veya "info @" gibi rol adreslerine gitmeli ya da ne yapmamalı. Bu adresler zaten spam gönderenler için daha az değerli olacak. Kişisel sayfalar için farklı şeyler. - nsayer


HTML:

<a href="#" class="--mailto--john--domain--com-- other classes goes here" />

JavaScript kullanarak jQuery:

// match all a-elements with "--mailto--" somehere in the class property
$("a[class*='--mailto--']").each(function ()
{
    /*
    for each of those elements use a regular expression to pull
    out the data you need to construct a valid e-mail adress
    */
    var validEmailAdress = this.className.match();

    $(this).click(function ()
    {
        window.location = validEmailAdress;
    });
});

4
2017-10-02 18:16



bu akıllı bir hile - Derek Adair


Rahatsız etmiyorum. Sadece sofistike kullanıcıları kızdırır ve tecrübesiz kullanıcıları karıştırırsınız. Başkalarının söylediği gibi, Gmail kişisel / küçük işletme alanı için çok etkili spam filtreleri sağlar ve kurumsal filtreler de genellikle çok iyidir.


3
2017-10-02 19:58





Elbette en güvenli yol, e-posta adresini ilk olarak web sayfasına koymamaktır.


2
2017-10-02 18:07



Ne dediğini görüyorum. SPAM kaçınılmazdır. - imjoevasquez
Evet. Eğer istersen really_hide e-posta adresiniz, web sayfanıza captcha korumalı bir form yerleştirerek size arka planda e-posta gönderir (adresi GUI'de göstermeden). - gabr
Bazı ülkelerde, yasalarca gerekli olması dışında, çok doğru. Almanya bir örnektir. - Ludwig Weinzierl


Bunun yerine bir iletişim formu kullanın. Tüm e-posta adreslerinizi bir veritabanına koyun ve kullanıcının formda doldurduğu e-postanın içeriğini gönderen bir HTML formu (konu, gövde, ...) oluşturun (kullanılan bir kimlik veya adla birlikte) Veritabanınızdaki o kişinin e-posta adresini bir sunucu tarafındaki komut dosyasına yönlendirerek, belirtilen kişiye e-posta gönderir. Hiçbir zaman e-posta adresi açıkta kalmaz. Spambots'ları da caydırmak için büyük olasılıkla bir CAPTCHA formu uygulamak isteyeceksiniz.


2
2017-10-02 18:28



CAPTCHA oldukça can sıkıcı olacak, muhtemelen e-posta adresinden daha fazla şaşırtmayacak. - Kornel


bir tepki Benim benzer bir soru üzerine:

Ben görüntüleyen CSS ve jQuery çok basit bir kombinasyonu kullanıyorum   e-posta adresini kullanıcıyla doğru şekilde doğru ve aynı zamanda çapa olduğunda çalışır   tıklandığında:

HTML:

<a href="mailto:me@example.spam" id="lnkMail">moc.elpmaxe@em</a>

CSS:

#lnkMail {
  unicode-bidi: bidi-override;
  direction: rtl;
}

jQuery:

$('#lnkMail').hover(function(){
  // here you can use whatever replace you want
  var newHref = $(this).attr('href').replace('spam', 'com');
  $(this).attr('href', newHref);
});

İşte çalışan bir örnek.


2
2018-05-27 07:59