Насколько хорошо использовать функцию 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>');
}

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

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


person Cora    schedule 18.01.2016    source источник


Ответы (1)


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

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

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