Лучший способ запутать адрес электронной почты на сайте? - PullRequest
125 голосов
/ 14 апреля 2009

Я провел последние несколько дней, работая над обновлением своего личного сайта. URL моего личного веб-сайта (мое имя). (Моя фамилия) .com, поскольку моя фамилия довольно необычна, и мне посчастливилось подобрать доменное имя. Мой адрес электронной почты (мое имя) @ (моя фамилия) .com. Так что на самом деле, когда дело доходит до угадывания, это не очень сложно.

В любом случае, я хочу добавить ссылку mailto: на мой сайт, чтобы люди могли связаться со мной. И, несмотря на то, что мой адрес электронной почты не очень сложно угадать, я бы предпочел, чтобы его не собирали спам-боты, которые просто сканируют веб-сайты по шаблонам адресов электронной почты и добавляют их в свою базу данных.

Как мне лучше запутать свой адрес электронной почты, желательно в виде ссылки? Методы, которые я знаю:

<a href="mailto:x@y.com">e-mail me</a>

Это работает, но это также означает, что как только мой веб-сайт перейдет на Google, я перейду к спаму, поскольку спам-боты легко узнают мой адрес электронной почты.

<img src="images/e-mail.png" />

Это менее желательно, поскольку посетители не только не смогут нажать на него, чтобы отправить мне электронное письмо, но и более умные спам-боты, вероятно, смогут обнаружить символы, содержащиеся на изображении.

Я знаю, что, вероятно, не существует идеального решения, но мне было просто интересно, что все считают лучшим. Я определенно готов использовать JavaScript в случае необходимости, так как мой сайт уже использует его тонны.

Ответы [ 26 ]

97 голосов
/ 14 апреля 2009

Я кодирую символы как объекты HTML ( что-то вроде этого ). Это не требует, чтобы JS был включен и, кажется, остановил большую часть спама. Я полагаю, что умный бот все еще может его собрать, но у меня не было проблем.

81 голосов
/ 14 апреля 2009

Лично я перестал скрывать свой адрес электронной почты. Мне легче искать лучшие решения для фильтрации спама, чем беспокоиться о запутывании. Вы могли бы потратить дни, пытаясь найти лучший способ запутать ваш адрес, и тогда все, что нужно, это один человек, чтобы продать ваш адрес спаммеру, и вся эта работа была бесполезна.

66 голосов
/ 14 апреля 2009

В настоящее время принято решение создать контактную форму, которая позволяет пользователям отправлять вам электронные письма. Если вы получаете много спама от этого (я не на моем сайте), то вы можете добавить капчу для хорошей меры, и в этот момент вы будете далеки от «низко висящих фруктов».

Дело в том, что если вы предоставляете ссылку, по которой пользователь может щелкнуть, чтобы открыть свой почтовый клиент с вашим адресом в поле «Кому», то компьютер сможет расшифровать адрес электронной почты со страницы. как и спам-бот.

41 голосов
/ 15 апреля 2009

Вы упомянули, что это для вашего личного сайта. На моем личном сайте (например, bobsomers.com) у меня просто есть параграф, который гласит:

Лучший способ связаться со мной до того, как новый сайт будет открыт, это отправить мне письмо Мой адрес электронной почты мой имя на этом сайте. если ты не могу понять это из этой подсказки, ну, вы можете найти электронную почту более вызов, чем выяснить мой адрес.

Люди, кажется, в состоянии понять это просто отлично, так как я получаю законные электронные письма все время. Иногда лучшие решения не требуют написания кода. :)

36 голосов
/ 14 апреля 2009

reCAPTCHA предлагает простую услугу обфускации электронной почты . Вам не нужно настраивать учетную запись и вы можете сразу начать использовать ее. Вы можете использовать сервис в качестве ссылки или всплывающего окна.

После того, как капча будет решена, ваш адрес электронной почты появится в виде href / mailto, так что по нему могут щелкнуть / следовать пользователи, которые настроили свои почтовые клиенты для работы со своими браузерами.

14 голосов
/ 14 апреля 2009

Видимо , используя CSS для изменения направления вашего текста работает довольно хорошо. Эта ссылка также проверяет множество других методов запутывания.

Все, что вы используете, неизбежно будет побеждено. Ваша основная цель должна состоять в том, чтобы не раздражать своих пользователей.

13 голосов
/ 13 сентября 2016

Облегченный способ скрыть href якоря состоит в том, чтобы кодировать его base64:

> btoa('mailto:email@example.com')
< "bWFpbHRvOmVtYWlsQGV4YW1wbGUuY29t"

А затем включить его в жестком коде:

<a href="javascript:window.location.href=atob('bWFpbHRvOmVtYWlsQGV4YW1wbGUuY29t')">E-Mail</a>

Или динамически на стороне сервера, например в PHP:

<a href="javascript:window.location.href=atob('<?= base64_encode("mailto:email@example.com") ?>')">E-Mail</a>

В сочетании с возвратом строки это может быть довольно спам-спам:

<a href="javascript:window.location.href=atob('<?= base64_encode("mailto:email@example.com") ?>')" style="unicode-bidi: bidi-override; direction: rtl;"><?= strrev("email@example.com") ?></a>
12 голосов
/ 14 апреля 2009

Не используйте здесь какие-либо методы запутывания, потому что это, вероятно, первое место, где собиратели электронной почты будут искать, чтобы узнать, как люди запутывают электронную почту. Если вы хотите, чтобы ваш адрес электронной почты был виден на сайте, не копируйте дословно чужой метод; запутайте его каким-то уникальным способом, которым не пользовался ни один другой сайт, чтобы ваш метод не был известен харвестерам до того, как они посетят ваш сайт.

8 голосов
/ 14 апреля 2009

Вы можете сделать то же, что и Google, в Google Code (и группах). Отобразите часть электронного письма и кликабельную часть («...»). Нажав, что означает, что вы хотите знать адрес электронной почты, и вас попросят ввести капчу. После этого письмо (и другие?) Видны вам.

6 голосов
/ 20 февраля 2014

мое на самом деле просто:

<h3 id="email">hello@gmail.com</h3><!-- add a fake email -->


    $(document).ready(function(){
//my email in reverse :)
            var s = 'moc.elibomajninbew@htiek';
            var e = s.split("").reverse().join("");
            $('#email').html('<a href="mailto:'+e+'">'+e+'</a>');
    });
...