Защита адресов электронной почты от спам-ботов / веб-скалы

StackOverflow https://stackoverflow.com/questions/3663963

Вопрос

Как вы предоставляете, чтобы электронные письма были собраны с веб-страниц по электронной почте Spiders? Делает mailto: Связывание их Увеличение вероятность того, что они подняты? URL-кодирование полезно?

Очевидно, что лучшая контрамерная мера состоит в том, чтобы показать только адреса электронной почты для вошедших пользователей, или предоставить контактную форму вместо адреса электронной почты. Но с точки зрения чисто боковых решений, что доступно?

Это было полезно?

Решение 4

Спустя годы я создал следующую jQuery для другого сайта:

$(".email").each(function() {
    $(this).html( $(this).html().replace("...", "@").replace(/\.\.\./g, ".") );
    $(this).attr( "href", $(this).attr("href").replace("...", "@").replace(/\.\.\./g, ".") );
});

Письма затем записываются как:

<a href="mailto:bob.smith...example...com" class="email">bob.smith...example...com</a>

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


Проверьте это Исследование на различных методах обфускации электронной почты.

Другие советы

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

myLink.href='mai'+'lto:'+'bob'
           +'@'
           +'example.com';

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

Идея состоит в том, чтобы удалить адреса электронной почты от HTML и ввести их с помощью JavaScript. Таким образом, адрес электронной почты не отображается в его оригинальной форме в любом из HTTP-трафика, который является то, на что смотрит паук.

Я склонен избегать mailto Как это делает слишком легко для людей сбора адресов электронной почты.

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

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

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

Как и в случае с большинством секретов, если вы не хотите, чтобы другие они получали, не помещайте их на страницу.

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

т.е.

var mail = "mailto";
var namepart = "test.user";
var domainpart = "example";
var tld = "com"; 
var address = namepart + "@" + domainpart + "." + tld;
document.write("<a href=" + mail + ":" + address + '">' + address + "</a>";

Если вам не нужна почтовая ссылка, вы можете заменить @ Символ с в

Пример: Сэм. в example.com.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top