2016-01-18 8 views
1

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

/index.html

... 
<head> 
<script src="/script/main.js></script> 
</head> 
<body> 
... 
<p><script>printEmail('info');</script></p> 
... 

/script/main.js

function printEmail(a) { 
    document.write('<a href="mailto:' + a + '@domain.com">' + a + '@domain.com</a>'); 
} 

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

Это безопасно? Кроме того, насколько безопасно это по сравнению с другими методами профилактики?

ответ

2

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

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

+0

Таким образом, я думаю, что вторичный вопрос будет заключаться в том, что спам-боты, затронутые электронной почтой, не находятся в источнике, потому что источник не содержит ссылки вообще. Или они смотрят на визуализированный вывод и пытаются использовать регулярное выражение для поиска вещей, которые соответствуют определенным разделителям, таким как наличие символа @, сопровождаемого текстом и периодом? Или они просто просматривают страницу, пытаясь найти ссылку на клик, которая открывает обработчик протокола электронной почты? – DarkWolffe

+0

@ DarkWolffe: Из личного опыта, скрывающего или не имеющего адрес электронной почты в источнике, откладывается 90% спам-ботов, написанных людьми, которым не нравится javascript. Но остальные 10% записывают свои спам-боты с помощью Phantom.js, чтобы они могли анализировать DOM вместо источника. Это число может измениться, поскольку все больше и больше спамеров изучают этот секрет. – slebetman