Что-то, что я недавно сделал на нескольких сайтах, которые я разработал, это создать включенную функцию 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>');
}
Процесс мысли, что у меня есть, что относительно небольшой скрипт должен помочь удержать спам-ботов, не включая адрес электронной почты полностью в любом месте исходного кода. Единственное место, где он становится читаемым, - это механизм рендеринга.
Это безопасно? Кроме того, насколько безопасно это по сравнению с другими методами профилактики?
Таким образом, я думаю, что вторичный вопрос будет заключаться в том, что спам-боты, затронутые электронной почтой, не находятся в источнике, потому что источник не содержит ссылки вообще. Или они смотрят на визуализированный вывод и пытаются использовать регулярное выражение для поиска вещей, которые соответствуют определенным разделителям, таким как наличие символа @, сопровождаемого текстом и периодом? Или они просто просматривают страницу, пытаясь найти ссылку на клик, которая открывает обработчик протокола электронной почты? – DarkWolffe
@ DarkWolffe: Из личного опыта, скрывающего или не имеющего адрес электронной почты в источнике, откладывается 90% спам-ботов, написанных людьми, которым не нравится javascript. Но остальные 10% записывают свои спам-боты с помощью Phantom.js, чтобы они могли анализировать DOM вместо источника. Это число может измениться, поскольку все больше и больше спамеров изучают этот секрет. – slebetman