Подтвердить что ты не робот

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

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

Подход foo at fooland dot com не совсем то, что я ищу. Мне нужно представить его таким образом, который понятен нормальным людям.

ИЗМЕНИТЬ

Отображение сообщений электронной почты динамически

4b9b3361

Ответ 1

Там есть последний ответ на superuser.com, в котором рассматривается этот точный вопрос, сравнивая целый ряд широко используемых методов.

Ответ 3

Как использовать простой образ, который содержит ваш адрес электронной почты?

Для динамического генерации изображения может быть добавлен контроллер ASP.NET MVC в проект WebForms с помощью метода действий, который возвращает FileResult, содержащий динамически сгенерированное изображение, содержащее адрес электронной почты.

public class DynamicImageController : System.Web.Mvc.Controller
{
    public FileResult Email(int id)
    {
        // TODO: Code that uses the ID value to retrieve the
        // email address for this customer (for example)
    }
}

В вашей веб-форме вы можете использовать управление сервером изображений и соответственно установить ImageUrl (что-то вроде "/DynamicImage/Email/" + customerId) из кода.

На этой странице показан пример использования FileResult для рендеринга изображения (диаграмма в этом сценарии)

http://www.codeproject.com/KB/aspnet/MvcChartControlFileResult.aspx

Ответ 4

Тот, который я начал использовать, - это перенаправление кода CSS:

<span style="unicode-bidi:bidi-override; direction: rtl;">[email protected]</span>

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

Это один из самых простых и эффективных способов. Посмотрите здесь несколько других: https://superuser.com/questions/235937/does-email-address-obfuscation-actually-work

Ответ 5

Недостатком подхода, основанного на изображении, является то, что он не может быть скопирован пользователем.

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

Еще одна идея - заменить изображение текстом через 2 секунды после загрузки страницы. Если боты спешат (обычно они?), Они будут видеть только изображение. Кроме того, если пользователь быстро и попытался выбрать изображение перед его заменой, JavaScript может сразу же сработать и заменить его соответствующим текстом. Используйте событие mouseover- или click-событие или что-то в этом роде.

Ответ 6

Как насчет кодировки Javascript? Можно использовать такую ​​PHP-функцию, как:

function encodeEmail ($email) {
  $ret = '';
  $a = '<a href="mailto:' . $email . '">' . $email . '</a>';
  $i = 0;
  $c = substr($a, $i, 1);
  while ($c != FALSE) {
    $ret .= '%'.dechex(ord($c));
    $c = substr ($a, ++$i, 1); 
  }
  return "<script type='text/javascript'>document.write(unescape('$ret'));</script>";
}

(может потребоваться исправление кода, поскольку я написал его без проверки на наличие ошибок).

Ответ 7

<a href="mailto:[email protected]">[email protected]</a>

Серьезно, на мой взгляд, ни одно из этих решений не стоит лишних хлопот для ваших пользователей.

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

Возможно, это субъективный вопрос:)

Ответ 8

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

Вы можете использовать JavaScript для создания адреса из некоторого случайного алгоритма, который вам нравится. Вы также можете поместить его в alert(), который по-прежнему доступен для копирования, но ваш адрес электронной почты никогда не касается DOM.

Ответ 9

Лучший подход состоит в том, чтобы идти как группы google, они не показывают u фактический идентификатор электронной почты, только начало, но тогда, если вы человек, вы можете использовать подход captcha для проверки посетителя как человека или бот. Кроме того, вы можете иметь звуковой файл, встроенный в вашу систему или флэш-дисплей, на котором отображается ваш идентификатор электронной почты. Вы можете создать флеш-скрипт actionscript, он выглядит хорошо, привлекательно и обеспечивает цель. Любой звук или вспышка - это то, что я считаю хорошим. Вы даже можете создать динамическое изображение, которое постоянно меняется каждый раз, когда пользователь перезагружает страницу. Удачи!