Na mojej stronie domowej używam tej metody, aby ukryć swój e-mail przed robotami spamującymi:
<a href="admin [at] example.com"
rel="nofollow"
onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>
Co o tym myślisz? Czy to jest skuteczne? Jakie inne metody znasz lub używasz?
this.href.replace(/x/g,'')
, kodowanie szesnastkowe w trzeciej części itp. Brak bota spamowego, bez względu na to, jak sprytny, spróbuje różnych metod dekodowania w różnych częściach adres e-mail.Odpowiedzi:
Jest to metoda, której użyłem, z uwzględnieniem po stronie serwera, np.
<!--#include file="emailObfuscator.include" -->
GdzieemailObfuscator.include
zawiera następujące elementy:Aby dołączyć adres, używam JavaScript:
Ponieważ otrzymuję pocztę e-mail za pośrednictwem Gmaila od 2005 r., Spam praktycznie nie stanowi problemu. Nie mogę więc mówić o skuteczności tej metody. Możesz przeczytać to badanie (choć jest stare), które wytworzyło ten wykres:
źródło
emailObfuscator.include
? Czy nie byłoby tak samo jak pisanie go jako zwykłego pliku .html? (może to tylko przykład?) Również dlaczego używasz komentarzy HTML<!--
-->
w skrypcie? I wreszcie, dlaczego jeden z<script>
tagów ma małe litery, a inne duże<SCRIPT>
? Czy te metody pomagają pomylić boty lub coś takiego?Praca z zawartością i attr w CSS:
Gdy javascript jest wyłączony, po prostu kliknięcie nie będzie działać, wiadomość e-mail jest nadal wyświetlana.
Innym interesującym podejściem (przynajmniej bez zdarzenia kliknięcia) byłoby użycie znaku od prawej do lewej w celu przesłonięcia kierunku pisania. więcej na ten temat: https://en.wikipedia.org/wiki/Right-to-left_mark
źródło
Spójrz na to w ten sposób , całkiem sprytnie i używając css.
CSS
HTML
Powyższy CSS zastąpi wówczas kierunek czytania i wyświetli tekst użytkownikowi we właściwej kolejności.
Mam nadzieję, że to pomoże
Twoje zdrowie
źródło
Mam zupełnie inne podejście do tego. Używam Mailhide do tego.
MailHide to system firmy Google, w którym użytkownik musi przejść test reCAPTCHA, aby następnie przekazać mu wiadomość e-mail.
źródło
Pierwotnie nie mój pomysł, ale nie mogę znaleźć autora:
Dodaj tyle x, ile chcesz. Działa idealnie do odczytu, kopiowania i wklejania i nie może być odczytany przez bota.
źródło
Myślę, że jedyną niezawodną metodą, jaką możesz mieć, jest utworzenie strony Skontaktuj się ze mną, która jest formularzem przesyłanym do skryptu, który wysyła na Twój adres e-mail. W ten sposób Twój adres nigdy nie będzie publicznie dostępny. Z jakiegoś powodu może to być niepożądane, ale myślę, że to całkiem dobre rozwiązanie. Często denerwuje mnie, gdy jestem zmuszony skopiować / wkleić czyjś adres e-mail z jego witryny do mojego klienta poczty i wysłać mu wiadomość; Wolę to zrobić bezpośrednio za pośrednictwem formularza na ich stronie. Takie podejście pozwala również na wysyłanie anonimowych komentarzy itp. Pamiętaj, aby zabezpieczyć formularz za pomocą jakiegoś programu przeciw botom, takiego jak captcha. Jest ich wiele omawianych tutaj na SO.
źródło
Widzieć Zabezpieczanie adresów e-mail przed botami na stronie internetowej?
Podoba mi się sposób, w jaki Facebook i inni renderują obraz twojego adresu e-mail.
W przeszłości korzystałem też z Enkodera - szczerze mówiąc, to było bardzo dobre!
źródło
Jeśli masz wsparcie php, możesz zrobić coś takiego:
I skryptname.php:
źródło
Wiem, że moja odpowiedź nie spodoba się wielu, ale proszę przejrzeć punkty przedstawione tutaj przed kciukiem w dół.
Wszystko, co można łatwo odczytać maszynowo, będzie łatwe do odczytania przez spamerów. Choć ich działania wydają nam się głupie, nie są to głupi ludzie. Są innowacyjni i zaradni. Nie tylko używają botów do zbierania wiadomości e-mail, mają do dyspozycji mnóstwo metod, a ponadto po prostu płacą za dobre, świeże listy wiadomości e-mail. Oznacza to, że mają tysiące hakerów na całym świecie, którzy wykonują swoje zadania. Ludzie gotowi do kodowania złośliwego oprogramowania, które zeskrobują ekrany przeglądarek innych ludzi, co ostatecznie czyni każdą metodę, którą próbujesz osiągnąć, bezużyteczną. Ten wątek został już przeczytany przez ponad 10 takich osób i śmieją się z nas. Niektóre z nich mogą być nawet znudzone łzami, aby dowiedzieć się, że nie możemy postawić im nowego wyzwania.
Pamiętaj, że ostatecznie nie próbujesz oszczędzać czasu, ale czasu innych. Z tego powodu rozważ rozważenie spędzenia tutaj dodatkowego czasu. Nie ma łatwej do wykonania magicznej kuli, która by działała. Jeśli pracujesz w firmie, która publikuje na stronie 100 e-maili i możesz zmniejszyć 1 spam dziennie na osobę, mówimy o 36500 e-mailach spamowych rocznie. Jeśli usunięcie takiej wiadomości e-mail zajmuje średnio 5 sekund, mówimy o 50 godzinach pracy rocznie. Nie wspominając o zmniejszonej irytacji. Dlaczego więc nie poświęcić na to kilku godzin?
Nie tylko ty i ludzie, którzy otrzymują e-mail, uważają czas za atut. Dlatego musisz znaleźć sposób na zaciemnienie adresów e-mail w taki sposób, aby się nie opłaciło. Jeśli używasz jakiejś powszechnie stosowanej metody do zaciemniania wiadomości e-mail, naprawdę warto je złamać. Ponieważ w rezultacie cracker dostanie tysiące, jeśli nie dziesiątki lub setki tysięcy świeżych wiadomości e-mail. I dla nich dostaną pieniądze.
Więc naprzód i napisz własną metodę. Jest to rzadki przypadek, w którym wynalezienie koła naprawdę się opłaca. Użyj metody, której nie można odczytać maszynowo i która będzie wymagała pewnej interakcji użytkownika bez poświęcania wygody użytkownika.
Spędziłem około 20 minut, żeby zakodować przykład tego, co mam na myśli. W tym przykładzie użyłem KnockoutJS tylko dlatego, że mi się podoba i wiem, że prawdopodobnie sam go nie użyjesz. Ale to i tak nie ma znaczenia. To niestandardowe rozwiązanie, które nie jest powszechnie stosowane. Złamanie go nie będzie nagrodą za zrobienie tego, ponieważ metoda zrobienia tego działałaby tylko na jednej stronie w rozległym Internecie.
Oto skrzypce: http://jsfiddle.net/hzaw6/
Poniższy kod nie jest przykładem dobrego kodu. Ale tylko krótka próbka kodu, który jest bardzo trudny do zrozumienia przez maszynę, obsługuje nawet e-maile. I nawet jeśli da się to zrobić, to nie opłaca się wykonywać na dużą skalę.
I tak, wiem, że to nie działa na IE = lte8 z powodu „Nie można uzyskać atrybutów właściwości” niezdefiniowanego lub zerowego odwołania ”, ale po prostu mnie to nie obchodzi, ponieważ jest to tylko demonstracja metody, a nie faktyczna implementacja, i nie jest przeznaczony do wykorzystania w produkcji w obecnej postaci. Możesz napisać własny kod, który jest fajniejszy, technicznie bardziej solidny itp.
Aha, i nigdy nie wymieniaj żadnych wiadomości e-mail ani html ani javascript. Zbyt łatwo jest zeskrobać DOM i obiekt okna dla dowolnej nazwy o nazwie poczta lub e-mail i sprawdzić, czy zawiera coś, co pasuje do wiadomości e-mail. Dlatego nie chcesz, aby zmienne, które zawierałyby e-mail w pełnej formie, nie były nigdy potrzebne, dlatego też chcesz, aby użytkownik wchodził w interakcję ze stroną przed przypisaniem takich zmiennych. Jeśli Twój obiektowy model javascript zawiera adresy e-mail w stanie gotowości DOM, udostępniasz je spamerom.
HTML:
JS
źródło
Jedną z moich ulubionych metod jest zaciemnianie adresu e-mail za pomocą php, klasycznym przykładem jest konwersja znaków na wartości HEX, takie jak:
A potem w moim znaczniku po prostu nazywam to w następujący sposób:
Następnie sprawdź swoje źródło, będziesz mile zaskoczony!
źródło
Możesz spróbować ukryć znaki za pomocą elementów HTML w heksie (np .: & # x40 dla @). Jest to wygodne rozwiązanie, ponieważ poprawna przeglądarka go przetłumaczy i możesz mieć zwykły link. Wadą jest to, że bot może to teoretycznie przetłumaczyć, ale jest to trochę niezwykłe. Używam tego, aby chronić swój e-mail na moim blogu.
Innym rozwiązaniem jest użycie javascript do złożenia części adresu i odkodowania go w locie. Wadą jest to, że przeglądarka z wyłączoną obsługą javascript nie wyświetla twojego adresu.
Najskuteczniejszym rozwiązaniem jest użycie obrazu , ale użytkownik musi ręcznie skopiować adres ręcznie.
Twoje rozwiązanie jest całkiem dobre , ponieważ dodajesz tylko wadę (ręczne pisanie @) tylko dla użytkowników, którzy mają wyłączony JavaScript. Możesz być również bardziej bezpieczny dzięki:
źródło
Spamboty nie będą tego interpretować, ponieważ jest to metoda mniej znana :)
Najpierw zdefiniuj css:
Teraz, gdziekolwiek chcesz wyświetlić swój adres e-mail, po prostu wstaw następujący kod HTML:
I tada!
źródło
Używam bardzo prostej kombinacji CSS i jQuery, która wyświetla użytkownikowi adres e-mail poprawnie, a także działa po kliknięciu lub najechaniu kotwicą:
HTML:
CSS:
jQuery:
Oto działający przykład.
źródło
! - Dodając to w celach informacyjnych, nie wiem, jak nieaktualne mogą być informacje, ale mówi o kilku prostych rozwiązaniach, które nie wymagają użycia żadnego skryptu
Po tym, jak sam tego szukałem, natknąłem się na tę stronę, ale także na te strony:
http://nadeausoftware.com/articles/2007/05/stop_spammer_email_harvesters_obfuscating_email_addresses
spróbuj odwrócić adres e-mail
Przykład zwykłego HTML:
Ten sam efekt przy użyciu CSS
Połączenie tego z dowolną z wcześniej wymienionych metod może nawet zwiększyć jego skuteczność
źródło
Jednym łatwym rozwiązaniem jest użycie encji HTML zamiast rzeczywistych znaków. Na przykład „[email protected]” zostanie przekonwertowane na:
źródło
Oto moja działająca wersja:
Utwórz gdzieś kontener z tekstem zastępczym:
I dodaj na dole DOM (wrt renderowania) następujący fragment:
Dodaje wygenerowane hiperłącze do określonego kontenera:
Ponadto tutaj jest wersja zminimalizowana:
źródło
Najlepsza metoda ukrywania adresów e-mail jest dobra, dopóki programista bot nie odkryje tego „kodowania” i nie wdroży algorytmu deszyfrowania.
Opcja JavaScript nie będzie długo działać, ponieważ jest wiele robotów interpretujących JavaScript.
Nie ma odpowiedzi, imho.
źródło
Prawdopodobnie są boty, które rozpoznają
[at]
inne przebrania jako@
symbol. Więc to nie jest naprawdę skuteczna metoda.Pewnie możesz użyć niektórych kodowań, takich jak kodowanie URL lub odwołania do znaków HTML (lub oba):
Ponieważ jednak korzystanie z nich jest legalne, każdy klient przeglądarki / klienta poczty e-mail powinien również obsługiwać te kodowania.
źródło
Jestem fanem SpamSpan - jest zaciemniony, ale nadal można go odczytać, jeśli JS jest wyłączony. Wygląda na to, że również działa, chociaż używam go od około roku na stronie o niskim natężeniu ruchu.
Istnieje również moduł umożliwiający Drupalowi automatyczne przekształcanie wiadomości e-mail w SpamSpans, jeśli jest potrzebny.
źródło
Czy to działa, jeśli kliknę link prawym przyciskiem myszy i wybierz opcję „skopiuj adres URL”? Jeśli nie, to nie jest to idealna sytuacja (bardzo rzadko klikam link mailto, wolę skopiować adres e-mail i wkleić go do mojej aplikacji pocztowej lub gdziekolwiek będę go potrzebować w określonym momencie).
Kiedyś byłem dość paranoikiem, chroniąc swój adres e-mail online (UseNet, sieć itp.), Ale obecnie podejrzewam, że więcej „możliwych celów spamu” jest generowanych programowo, dopasowując części lokalne do domen. Opieram się na tym, że czasami przeglądam logi serwera pocztowego. Często zdarza się, że istnieje kilka prób dostarczenia na nieistniejące adresy (w tym skrócone wersje przynęty antyspamowej, którą zwiesiłem na UseNet pod koniec lat 90., kiedy bardzo często występowało wyskakiwanie adresów).
źródło
po użyciu tak wielu technik znalazłem łatwy i bardzo przyjazny sposób, boty szukają @ Símbolo, a ostatnio szukają [at] ant i jego wariantu, więc używam 2 technik
a obraz alt będzie alt = "@", więc bot znajdzie obraz, a każdy człowiek zobaczy go jako normalny adres, więc jeśli go skopiuje, skopiuje wiadomość e-mail, a zadanie to nie, więc kod będzie
źródło
Istnieje otwarty skrypt PHP z licencją, który wyświetla javascript, który koduje pocztę: http://www.maurits.vdschee.nl/php_hide_email/ . Następnie możesz łatwo wywołać funkcję php z określoną pocztą jako argumentem.
źródło
Najpierw upewnię się, że adres e-mail wyświetla się tylko wtedy, gdy masz włączony JavaScript. W ten sposób nie ma zwykłego tekstu, który można odczytać bez javascript.
Po drugie, sposobem na wdrożenie bezpiecznej funkcji jest unikanie
<button>
tagu. Ten tag wymaga wstawienia tekstu między tagami, co czyni go czytelnym dla komputera. Zamiast tego spróbuj<input type="button">
z obsługą javascript dla onClick. Następnie zastosuj wszystkie techniki wymienione przez otherse, aby zaimplementować bezpieczną notację e-mail.Inną opcją jest przycisk „Kliknij, aby zobaczyć adres e-mail”. Po kliknięciu zmienia się w zakodowany e-mail (znaki w kodach HTML). Po kolejnym kliknięciu przekierowuje to do funkcji „mailto: email”
Niekodowana wersja ostatniego pomysłu, z adresami e-mail do wyboru i bez wyboru:
Sprawdź, czy tego chcesz, i połącz to z pomysłami innych. Nigdy nie możesz być zbyt pewny.
źródło
I moja funkcja. Stworzyłem go, patrząc na odpowiedzi zamieszczone w tym temacie.
Wykorzystuje dwie metody: od prawej do lewej reż i pisanie javascript.
źródło
Opcja 1: Podziel adres e-mail na wiele części i utwórz tablicę w JavaScript z tych części. Następnie połącz te części we właściwej kolejności i użyj właściwości .innerHTML, aby dodać adres e-mail do strony internetowej.
Opcja 2: użyj obrazu zamiast tekstu wiadomości e-mail
Strona twórcy obrazu z tekstu: http://www.chxo.com/labelgen/
Opcja 3: Możemy użyć AT zamiast „@” i DOT zamiast „.”
tj .:
źródło
Nie lubię mieszania JavaScript i HTML, dlatego używam tego rozwiązania. Na razie działa mi dobrze.
Pomysł : możesz to skomplikować, udostępniając zaszyfrowane informacje w
data
atrybutach i odszyfrowując je w JS. Odbywa się to po prostu przez zamianę liter lub odwrócenie ich.HTML :
JS :
Wypróbuj: http://jsfiddle.net/x6g9L817/
źródło
co z HTML_CHARACTER ?:
wyjścia
źródło
Oto proste rozwiązanie tego problemu:
źródło
Najbardziej podoba mi się odpowiedź ofauraxa, ale zmodyfikowałbym ją, aby uzyskać nieco bardziej ukryty e-mail:
źródło
Muszę tylko podać inną odpowiedź. Właśnie wymyśliłem coś fajnego do zabawy.
Dowiedziałem się, że w wielu popularnych tablicach znaków litery @ i az pojawiają się więcej niż jeden raz. Możesz zamapować oryginalne znaki na nowe mapowania i utrudnić robotom spamującym ustalenie, czym jest e-mail.
Jeśli przejdziesz przez ciąg i otrzymasz kod litery, a następnie dodasz 65248 i zbudujesz encję HTML na podstawie liczby, otrzymasz adres e-mail czytelny dla człowieka.
Oto działające skrzypce: http://jsfiddle.net/EhtSC/8/
Możesz poprawić to podejście, tworząc bardziej kompletny zestaw odwzorowań między postaciami, które wyglądają tak samo. Ale jeśli na przykład skopiujesz / wkleisz wiadomość e-mail do notatnika, otrzymasz wiele skrzynek.
Aby rozwiązać niektóre z problemów związanych z wrażeniami użytkowników, utworzyłem wiadomość e-mail jako link. Po kliknięciu ponownie mapuje znaki z powrotem do ich oryginałów.
Aby to poprawić, możesz tworzyć bardziej złożone mapowania znaków, jeśli chcesz. Jeśli możesz znaleźć kilka znaków, których można użyć na przykład w miejscu „a”, dlaczego nie losowe odwzorowanie na nie.
Prawdopodobnie nie jest to jak dotąd najbezpieczniejsze podejście, ale naprawdę dobrze się bawiłem, grając z nim: D
źródło