it-swarm-eu.dev

Způsob uvedení e-mailové adresy „Kontaktujte nás“ na webových stránkách, a přesto snížit pravděpodobnost nevyžádané pošty?

Jaký je dobrý způsob, jak na webové stránce uvést e-mailovou adresu „Kontaktujte nás“ a zároveň snížit pravděpodobnost, že dojde ke spamování?

Je uvedení e-mailové adresy v obrázku nejlepší technikou, nebo jsou tam další?

70
Chris W. Rea

Všechny kontaktní formuláře předávám přes odhozený účet Gmail, který přeposílá poštu na skutečnou e-mailovou adresu. Je to zdarma, snadné a detekce spamu v Gmailu je prvotřídní.

Při vytváření webu to nevyžaduje žádné další úsilí a pokud se vám něco dostane, stačí se přihlásit k účtu Gmail a označit jej jako spam.

Poté můžete nastavit, aby doručená pošta v Gmailu buď automaticky archivovala cokoli, co bylo přeposláno, nebo ji dokonce smazala, pokud si nepřejete, aby v ní byla uložena další kopie.

54
Callan
30
Jason

Moje neodpověď je neudělat to. Moderní e-mailové systémy, jako je GMail a Barracuda anti-spamové zařízení, odvádějí vynikající práci při filtrování spamu. Jakákoli překážka, kterou vložíte mezi sebe a své návštěvníky, znamená nižší úroveň interakce a v závislosti na typu webu potenciální ztrátu prodeje.

Pokud se obáváte uživatelů, kteří nemají nainstalovaného nativního poštovního klienta, nebo kteří nemají správně nastavený obslužný program mailto:, nechte si stránku Kontaktujte nás s BOTH propojenou e-mailovou adresou a formulářem (bez CAPTCHA) a nechat uživatele zvolit.

Spam je nepříjemný, ale je to naše břemeno, nikoli naši uživatelé.

20
JasonBirch

Použijte přirozený jazyk k vyhlášení e-mailové adresy ...

Příklad:

thatguy at gmail dot com

Byli byste překvapeni, jak těžší je napsat robota, který dokáže odlišit přirozený jazyk, než psaní robota, který právě hledá znak @ a regexuje normální adresu.

Není to stoprocentně spolehlivý, ale není to o nic horší než zmatek a nebude odcizit vaše zrakově postižené uživatele nebo uživatele, kteří mají zakázaný JavaScript.

Aktualizace: Zde je příklad této techniky v akci .

Aktualizace 2:

Ukazuje se, že někdo o tom skutečně provedl průzkum a zveřejnil jej online. Viz příspěvek SuperUser popisující výsledky nebo původní článek

18
Evan Plaice

Osobně na webech nezobrazím e-mailové adresy, ale místo toho mám snadno použitelný a přístupný kontaktní formulář s uvedením, od koho je e-mail; umožňuje uživatelům odesílat e-maily majitelům stránek a operátorům, aniž by odhalili e-mailové adresy nebo museli procházet různými obručemi JavaScriptu atd.

Toto je často nejlepší způsob, jak postupovat, pokud filtrování spamu není tak sofistikované.

12

použijte css ke skrytí nějakého šumu před skutečným textem (jen vše v jednom řádku, naformátoval jsem ho pro lepší ilustraci techniky):

u<span class="spam">noise</span>ser
@<span class="spam">noise</span>
example<span class="spam">noise</span>
.com

a pak použijte tento malý css-snippet:

.spam { display: none; }

pokud potřebujete platný obsah mailto:, musíte jej vytvořit pomocí jscript v dom, podívejte se na některé z dalších odpovědí. ale nejsem velkým přítelem.

9
akira

Co mám dělat, je napsat e-mailovou adresu jako slova, zabalená do tagu rozpětí: <span class="email">joe dot blow at gmail dot com</span>. Poté se spustí skript na úrovni stránky, popadne všechna taková rozpětí a nahradí je vytvořeným e-mailovým odkazem. Nemusí to být příliš nejasné, ale neměl jsem žádné stížnosti. Navíc, pokud je JavaScript zakázán, může uživatel stále číst skutečný rozsahový text.

8
Grant Palin

Nejlepší řešení: použijte spamový filtr.

Ve skutečnosti používám Gmail ke zpracování svého e-mailového účtu POP3 pro svou firmu, protože je mnohem snazší kontrolovat e-maily na různých počítačích. Filtry spamu v Gmailu jsou nejlepší na světě.

Můžete tedy jako e-mailovou adresu zobrazit [email protected] a zapomenout na spam.

8
DisgruntledGoat

pomocí html kódování jako &#649&#7854&#7575, bude prohlížeč vykreslen jako "abc"

7
ilhan

Docela dobrý, i když ne dokonalý způsob, je vytvořit e-mailovou adresu pomocí javascriptu. Většina pavouků, kteří hledají e-maily, nevykonává javascript, a proto nenaleznou čitelnou e-mailovou adresu.

Zde je jen jeden příklad, jak by se to dalo udělat.

5
txwikinger

K dynamickému vytváření obrázků PNG obsahujících e-mailové adresy použijte grafickou knihovnu (například Gd , která je podporována PHP nebo podobně).

Ve srovnání s mou další odpovědí toto řešení je pro uživatele méně nepříjemné (ale není průhledné; nemohou jej zkopírovat a vložit, ale musí jej přepsat znovu od začátku), ale je také méně bezpečné: počítač může potenciálně číst nezkreslený obraz.

Ale celkově si myslím, že je to dobrý kompromis; zastaví drtivou většinu spamových robotů.

5
Thomas Bonini

Pomocí jednoduchého skriptu Python převádím e-mailovou adresu na odkaz mailto, kde je e-mailová adresa kódována entitou HTML. To je pro uživatele zcela transparentní, zdá se však, že je obsah dostatečně zatemněn, aby porazil většinu zjednodušených sklízecích bot.

#! /usr/bin/env python3.0

def entity_encode(text):
    out = ""
    ba = text.encode()
    for i in range(len(ba)):
        out = out + "&#x{0:02x};".format (ba[i])
    return out

def print_email_link(address) :
        print('<!-- {0} -->'.format(address))
        print('<a href="{0}{1}">{1}</a>'.format(entity_encode("mailto:"), entity_encode(address)))


print_email_link("[email protected]")

To dává výstup

<!-- [email protected] -->
<a href="&#x6d;&#x61;&#x69;&#x6c;&#x74;&#x6f;&#x3a;&#x74;&#x65;&#x73;&#x74;&#x31;&#x32;&#x33;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;">&#x74;&#x65;&#x73;&#x74;&#x31;&#x32;&#x33;&#x40;&#x65;&#x78;&#x61;&#x6d;&#x70;&#x6c;&#x65;&#x2e;&#x63;&#x6f;&#x6d;</a>

Když je výsledek vložen na webovou stránku, prohlížeč zobrazí text „[email protected]“ jako hyperlinku na „mailto: [email protected]“, takže je pro koncového uživatele stejně pohodlné jako zahrnutí adresy jasně. Zdá se však, že poráží mnoho sklízecích botů.

Je zřejmé, že smažu komentář s prostou ASCII verzí adresy, jakmile vložím zakrytý e-mailový odkaz na vhodné místo ve zdrojovém kódu HTML webové stránky.

5
Stephen C. Steel

Požádejte uživatele, aby vyřešil CAPTCHA před tím, než jim zobrazí e-mailovou adresu (nebo pokud máte kontaktní formulář, než jej necháte odeslat).

Je to pro uživatele nepříjemné, ale rozhodně nejúčinnější.

4
Thomas Bonini

Jsem fanoušek zmatku, kde je e-mailová adresa v podstatě vykreslena pomocí Javascriptu.

Například [email protected] lze vykreslit jako

<a href="javascript:location='mailto:\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d';void 0">
<script type="text/javascript">document.write('\u006d\u0079\u0040\u0065\u006d\u0061\u0069\u006c\u002e\u0063\u006f\u006d')</script></a>

Pokud jde o uživatele, jedná se o normální text, který lze zkopírovat a vložit. Bots na druhé straně bude mít těžší čas s tím.

Tady je obfuscator , který jsem použil.

3
Paperjam

Jednosměrný:

_  <script language="javascript"> 
  <!--
  var name = "user"
  var Host1 = "gm"
  var Host2 = "ail.com"
  var addr =
  document.write("<a href=mai" + "lto:" + 
    name + "&#64;" + Host1 + Host2 +
    ">" + name + "&#64;" + Host1 + Host2 + "</a>")
  //-->
 </script> 
_

Můžete napsat „Unscramble my email: user at com dot gmail“ v ​​ <noscript> tagy pro ty, kteří mají vypnutý javascript. Tímto způsobem získáte funkci hypertextového odkazu. Máte dobrou šanci zabránit spammerům od vaší adresy a lidé s vypnutým javascriptem nebo pouze textovými prohlížeči mohou vaši e-mailovou adresu získat.

2
Adam

Všechny techniky zmatení na světě z dlouhodobého hlediska nemohou pomoci, pokud vás bude kontaktovat spousta lidí. Stačí, když vám někdo pošle zprávu a později se nakazí nějakým malwarem, který prohledává svou doručenou poštu/odeslaný e-mail/adresář/cokoli, zda neobsahuje platné adresy, a vaši adresu tam předává ze seznamu do seznamu [Dokonce mám kontakty, které jsou dost hloupé, aby tam uvedly e-mailovou adresu a heslo do online formulářů z nejodkaznějších důvodů, pravděpodobně máte taky, poslední z nich byl web, který nabídl vypočítat něčí "e-mailovou astrologickou mapu a předpovědi" který okamžitě zaslal všem bláznovým kontaktům pozvání na stejný web a <deity> ví pouze o tom, jaké další seznamy jsme nyní v důsledku].

Adresa na mých veřejných webových stránkách není pouze odhodovací adresa - je to odhozená subdoména. Pokud začnu dostávat spam v této subdoméně, vytvořím novou, aktualizuji weby, na kterých jsou uvedeny mé kontaktní údaje, a krátce poté úplně odeberu subdoménu ze záznamů DNS. Pokud tak učiníte nebo jakoukoli jinou techniku ​​vyhazování adres, ujistěte se, že jasně uvedete (na jakékoli stránce se seznamem adresy a v zápatí jakékoli pošty odeslané pomocí této adresy), že adresa se v budoucnu změní, a pokud lidé mohou Neměli by projít, měli by se zkontrolovat, zda mají správnou adresu.

Výhoda spočívá v tom, že se jedná o jednoduchou adresu, na kterou lidé mohou kliknout (pokud jsou takto propojeni jejich prohlížeč + mailer), nebo zkopírovat + vložit, aniž by museli později používat svůj mozek k úpravě adresy (vždycky jsem překvapen, kolik dalších inteligentní a ohleduplní lidé si nemohou takovou věc napravit). To také znamená, že můj poštovní server nestráví své dny poskakováním zpráv odeslaných na „náhodné“ adresy (aaron @, adam @, amy01 @, ...) na vypršených subdoménách. Nezaměňuje také čtečky obrazovky používané nevidomými nebo špatně umístěnými.

Další možností, kterou jsem ještě nezkoušel, je použití požadavku AJAX ke čtení v e-mailové adrese a dalších podrobnostech. To může být o něco účinnější než zmatek založený na document.write, i když na webový server se přidá trochu větší zátěže.

Místo toho jsem místo toho používal formuláře „kontaktujte mě/nás“, ale zjistil jsem, že se dostávají do spamu stejně jako někdy i více než prosté textové adresy - někdy skripty, které se pokoušejí použít formulář k vytvoření účtu někde, spíše než použít jako kontaktní formulář.

2
David Spillett

V žádném případě, Jose! - Ano, Jose,

Neexistuje absolutně žádný způsob, jak zastavit sběr e-mailových adres a href="mailto:". Dlouho se věří, že použití JavaScriptu je dobrý způsob, jak zabránit většině sklízejících robotů, ale v dnešní době jsou roboty v této metodě dost zatraceně dobří. Mohou také porazit obrázky, které obsahují e-mailové adresy, stejným způsobem, jak mohou porazit captcha pomocí softwaru decaptcha.

Lepší cesta!

Lepším přístupem by bylo použití seriózní poštovní služby, která poskytuje dobré blokování spamu. Google G Suite a Microsoft Office 365 používají algoritmus, který není srovnatelný s jakýmkoli softwarem na trhu, většinou proto, že dostávají miliony e-mailů denně a jsou schopny se „učit“ a spamlisty na černé listině dlouho předtím, než se vám pokusí poslat e-mail.

Ve skutečnosti před rokem Google řekl, že jeho technologie strojového učení nyní blokuje 99,9% Gmail spamových a phishingových zpráv , místní Microsoft Exchange a poštovní servery běžící za plesk/cpanel nejsou schopny konkurovat této ochraně.

Souhrn

Blokujte nevyžádanou poštu pomocí seriózní poštovní služby, která je schopná strojového učení se AI. Můžete to udělat ještě o krok dále tím, že zabráníte spammerům navštěvujícím váš web pomocí Cloudflare, který detekuje velkou většinu agresivních robotů, než se dostanou na váš web.

1
Simon Hayter

Pokud máte botový filtr (pomocí 1x1px, podsítě, známých robotů, detekce skriptu, referrer http a agenta prohlížeče), nemůžete informace jednoduše zobrazit, pokud jde o bota.

Řešení v PHP:

<?
if (!isbot()) {
  echo 'mailto:'.$email_address_for_real_people;
  }
  else {
  echo 'mailto:[email protected]'.$bots_domain_address;
  }
?>
1
Talvi Watia

Nejjednodušší věc, kterou jsem našel, je použít kontaktní formulář, kde je výchozí adresa, ale také schopnost uživatele zvolit, komu by komunikace měla jít (marketing, prodej, technická podpora atd.). Poté je server na základě hodnoty rozevíracího seznamu odeslán data formuláře na příslušnou e-mailovou adresu.

Spusťte tento seznam kontaktů z databázové tabulky, abyste mohli snadno aktualizovat/přidat položky do rozevíracího seznamu. Tímto způsobem nikdy nevystavujete jakoukoli adresu širokému světu spamových robotů a stále dáváte svým uživatelům skvělý způsob, jak poslat zpětnou vazbu.

1
Milner

Chcete-li nastavit kontaktní formulář, použijte Zoho Creator . Zpětná vazba, která obdržíte, bude uložena v databázi, ke které máte přístup online, a bude vám také zaslána e-mailem.

0
mvark

Používám funkce PHP k vygenerování nějakého javascriptu pro výstup skriptu za běhu. Všimněte si, že k vygenerování JS za běhu nepotřebujete PHP, můžete vygenerovat JS jednou lokálně a poté zahrnout statický JS na vaší stránce.

Můžete také použít propojenou funkci s tímto úryvkem níže k automatickému zatemnění e-mailových adres v daném HTML (kde $ processingContent je HTML):

 $emailMatches = array();
 $matchCount = preg_match_all('/(?:[a-zA-Z0-9_\.\-])+\@(?:(?:[a-zA-Z0-9\-])+\.)+(?:[a-zA-Z0-9]{2,4})+/', $processedContent, $emailMatches);

 if($matchCount > 0) {
    $emailMatches = $emailMatches[0];

    foreach($emailMatches as $email) {
    $replacement = createJSMailLink($email);

    $processedContent = str_replace($email, createJSMailLink($email), $processedContent);
 }
}
0
iloveitaly

Jednu věc, kterou dělám, je použití API z http://www.stopforumspam.com ke kontrole spammerů. Neváhejte mě kontaktovat pro podrobnosti a rád vám s tím pomůžu!

Bud Manz

Manz Web Designs, LLC

0
Bud

Používal jsem [email protected] roky. Uživatelé obvykle vědí dost na to, aby smazali „spam“.

Jinak stačí použít kontaktní formulář s 'captcha' a poslat mail přímo z webu.

0
Gary.Ray

Zde je další e-mailový obfuscator: Enkoder , od Dana Benjamina. Přichází jako online aplikace i samostatná aplikace pro Mac.

0
Alex

Pokud vám nevadí použití javascriptu, můžete použít k zamlžení e-mailové adresy něco jako ROT13. Podívejte se například na:
http://scott.yang.id.au/2003/06/obfuscate-email-address-with-javascript-rot13/

Osobně dávám přednost použití kontaktního formuláře a nemusíte se starat o spamboty, ale to samozřejmě záleží na vašich požadavcích.

0
Mee

Pokud používáte kontaktní formulář, můžete udělat zábavnou techniku ​​použití náhodných jmen pro vaše vstupy.

Například vytvořím kontaktní formulář, místo toho, abych použil e-mail jako vstup, použil jsem liame, stejné se jménem (eman) a komentářem (tnemmoc). Roboti ve skutečnosti nevědí, co tyto vstupy dělají, takže je prostě ignorují.

0
dkuntz2

Nastavil jsem formulář nebo tabulku dokumentů Google. Mohu kontrolovat položky formuláře jednou denně a moje doručená pošta není zaplavena.

0
Sri