Как можно защитить электронную почту на сайтах от спам-ботов? - PullRequest
14 голосов
/ 21 ноября 2008

Я создаю общедоступный интернет-сайт, который содержит адрес электронной почты их продавцов.

Какие варианты программирования у меня есть, чтобы генерировать «mailto» и отображать электронную почту с этого адреса, но ограничивать спам-ботов в получении адреса?

Ответы [ 14 ]

10 голосов
/ 10 января 2009

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

7 голосов
/ 21 ноября 2008

Я знаю, что Facebook делает это, отображая изображение вместо текста. Конечно, они могли использовать OCR на изображении, но зачем беспокоиться только об одном адресе электронной почты?

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

5 голосов
/ 21 ноября 2008

Вы можете скрыть это, но ИМХО, что бы вы ни делали, спамеры однажды получат ваш адрес электронной почты. Будущее за спам-фильтрами, а не за секретностью адресов электронной почты.

3 голосов
/ 21 ноября 2008

Проверьте энкодер !

2 голосов
/ 24 декабря 2009

Посмотрите на PrivateDaddy - я думаю, что он делает именно то, что вы ищете: полностью автоматическое, ненавязчивое маскирование электронной почты, которое работает даже в браузерах, где отключена поддержка JavaScript. Вы можете получить это здесь (бесплатно)

2 голосов
/ 21 ноября 2008

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

Мне кажется, я получил идею с сайта Якоба Нильсена useit.com .

В заголовке страницы у меня есть этот кусок JavaScript:

<script name="mailto" language="JavaScript">
    //<![CDATA[

    function load()
    {
        c1 = "bcl"
        c2 = "brian"
        c3 = "lane"
        c4 = "com"
        // Fill in the addresses
        document.getElementById("contact1").innerHTML = "<a href=" + "mail" + "to:" + c1 + "@" + c2 + c3 + "." + c4 + ">" + c1 + "@" + c2 + c3 + "." + c4 + "</a>";
    }
    //]]>

</script>

Скажите, чтобы он загружался при загрузке страницы:

<body onload="load()">

А потом в теле страницы я поместил ссылку на спамтрап:

<span id="contact1"><a href="mailto:spam@brianlane.com">spam@brianlane.com</a></span>
1 голос
/ 24 апреля 2013

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

Итак, только вы CSS3 псевдоэлемент ! это не будет ссылка, но ваша электронная почта будет видна и никогда не будет фактическим текстом. как то так:

.email::after{ content:'myemail@gmail.com'; }

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

1 голос
/ 21 ноября 2008

Если это не статическая HTML-страница, а страница ASP.NET, JSP, Coldfusion или PHP, то у вас может быть выпадающий список со списком всех ваших продавцов, текстовое поле для комментариев и «Связаться с нами» (т. Е. Кнопка «Отправить»). Когда кнопка нажата, она вызывает код на стороне сервера, который создает электронную почту и отправляет ее на ваш локальный почтовый сервер для доставки. Внешний мир никогда не узнает адрес электронной почты ваших продавцов и формат электронной почты (например, firstname.lastname@yourcompany.com) вашей компании.

1 голос
/ 21 ноября 2008

Вы можете использовать что-то вроде электронной почты обфускация

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

Будет ли что-то, что я написал для вас работать?

http://kevin -le.appspot.com / ViewSource / sourceShare / asmRevealer.js

... и вы можете увидеть демо здесь:

http://kevin -le.appspot.com / дополнительные / контакт

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

...