Лучший способ запутать адрес электронной почты на сайте? - 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 ]

0 голосов
/ 03 марта 2010

Проверьте это из.

«Форма Enkoder» зашифрует ваш адрес электронной почты и преобразует результат в самооценку JavaScript, скрывая его от роботов сбора электронной почты, которые сканируют сеть в поисках открытых адресов. Ваш адрес будет корректно отображаться в веб-браузерах, но практически не поддается шифрованию роботами для сбора электронной почты.

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

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

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

0 голосов
/ 10 января 2017

Использование JQuery, но может быть легко перенесено в обычный JS при необходимости. Возьму следующий блок HTML. Этот пример, который я предоставил, также относится к tel: ссылкам для телефонных звонков.

<a class="obfuscate" 
 href="mailto:archie...trajano...net">
 archie...trajano...net
</a>
<a class="obfuscate"
 href="tel:+One FourOneSix-EightFiveSix-SixSixFiveFive">
 FourOneSix-EightFiveSix-SixSixFiveFive
</a>

и преобразовать его в соответствующие ссылки, используя Javascript.

$(".obfuscate").each(function () {

$(this).html($(this).html()
.replace("...", "@").replace(/\.\.\./g, ".")
.replace(/One/g, "1")
.replace(/Two/g, "2")
.replace(/Three/g, "3")
.replace(/Four/g, "4")
.replace(/Five/g, "5")
.replace(/Six/g, "6")
.replace(/Seven/g, "7")
.replace(/Eight/g, "8")
.replace(/Nine/g, "9")
.replace(/Zero/g, "0"))

$(this).attr("href", $(this).attr("href")
.replace("...", "@").replace(/\.\.\./g, ".")
.replace(/One/g, "1")
.replace(/Two/g, "2")
.replace(/Three/g, "3")
.replace(/Four/g, "4")
.replace(/Five/g, "5")
.replace(/Six/g, "6")
.replace(/Seven/g, "7")
.replace(/Eight/g, "8")
.replace(/Nine/g, "9")
.replace(/Zero/g, "0"))

})

Я задокументировал это более подробно здесь https://trajano.net/2017/01/obfuscating-mailto-links/

Алгоритм де / запутывания довольно прост, поэтому его не слишком сложно писать (нет необходимости в разборе base64)

0 голосов
/ 23 декабря 2009

Если вы работаете с PHP, вы можете получить бесплатный скрипт, который делает это автоматически. Он называется «Частный папочка», и мы используем его для нашего собственного онлайн-сервиса потокового аудио. Всего одна строка кода, и она работает из коробки ... вы можете взять ее здесь

0 голосов
/ 28 января 2019

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

0 голосов
/ 23 декабря 2009

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

...