На моей домашней странице я использую этот метод, чтобы скрыть свою электронную почту от спам-ботов:
<a href="admin [at] example.com"
rel="nofollow"
onclick="this.href='mailto:' + 'admin' + '@' + 'example.com'">Contact me</a>
Что вы думаете об этом? Это эффективно? Какие еще методы вы знаете или используете?
this.href.replace(/x/g,'')
, третью часть в шестнадцатеричном кодировании и т. Д. Ни один спам-бот, каким бы умным он ни был, не будет пробовать разные методы декодирования в разных частях адрес электронной почты.Ответы:
Это метод, который я использовал, с включением на стороне сервера, например,
<!--#include file="emailObfuscator.include" -->
гдеemailObfuscator.include
содержит следующее:Чтобы включить адрес, я использую JavaScript:
Поскольку я получаю электронную почту через Gmail с 2005 года, спам, в основном, не является проблемой. Поэтому я не могу говорить о том, насколько эффективен этот метод. Возможно, вы захотите прочитать это исследование (хотя оно и старое), которое подготовило этот график:
источник
emailObfuscator.include
? Разве это не было бы так же, как писать это в простом .html? (возможно, это просто пример?) Также, почему вы используете html-комментарии<!--
-->
внутри скрипта? И, наконец, почему один из ваших<script>
тегов в нижнем регистре, а другие в верхнем регистре<SCRIPT>
? Эти методы помогают сбить с толку ботов или что-то?Работа с контентом и атрибутом в CSS:
Когда JavaScript отключен, просто событие нажатия не будет работать, электронная почта по-прежнему отображается.
Другой интересный подход (по крайней мере, без события щелчка) заключается в использовании метки справа налево для переопределения направления письма. Подробнее об этом: https://en.wikipedia.org/wiki/Right-to-left_mark
источник
Посмотрите на этот способ , довольно умный и использующий CSS.
CSS
HTML
Приведенный выше CSS переопределит направление чтения и представит текст пользователю в правильном порядке.
Надеюсь, поможет
ура
источник
У меня совершенно другой взгляд на это. Я использую MailHide для этого.
MailHide - это система от Google, в которой пользователю необходимо пройти тест reCAPTCHA, чтобы затем раскрыть ему электронное письмо.
источник
Первоначально не моя идея, но я не могу найти автора:
Добавьте столько х, сколько хотите. Он отлично работает для чтения, копирования и вставки и не может быть прочитан ботом.
источник
Я думаю, что единственный надежный метод, который вы можете использовать, - это создание страницы «Свяжитесь со мной», которая представляет собой форму, отправляемую в сценарий, который отправляется на ваш адрес электронной почты. Таким образом, ваш адрес никогда не будет открыт для публики. Это может быть нежелательно по какой-то причине, но я думаю, что это довольно хорошее решение. Меня часто раздражает, когда я вынужден скопировать / вставить чей-либо адрес электронной почты со своего сайта в мой почтовый клиент и отправить ему сообщение; Я бы предпочел сделать это прямо через форму на их сайте. Кроме того, этот подход позволяет отправлять вам анонимные комментарии и т. Д. Просто убедитесь, что вы защищаете свою форму с помощью какой-либо анти-бот-схемы, такой как капча. Есть много из них обсуждались здесь на SO.
источник
См. Как защитить адреса электронной почты от ботов на веб-странице?
Мне нравится, как Facebook и другие отображают изображение вашего адреса электронной почты.
Я также использовал Энкодер в прошлом - думал, что это очень хорошо, если честно!
источник
Если у вас есть поддержка php, вы можете сделать что-то вроде этого:
И скрипт name.php:
источник
Я знаю, что мой ответ не понравится многим, но, пожалуйста, примите во внимание пункты, изложенные здесь, прежде чем переходить к обсуждению
Все, что легко читается машиной, будет легко читаться машиной спамерами. Хотя их действия кажутся нам глупыми, они не глупые люди. Они инновационные и находчивые. Они не просто используют ботов для сбора электронной почты, у них есть множество методов, и в дополнение к этому, они просто платят за хорошие свежие списки электронных писем. Это означает, что они получили тысячи хакеров по всему миру для выполнения своей работы. Люди, готовые кодировать вредоносные программы, которые очищают экраны браузеров других людей, что в конечном итоге делает любой метод, который вы пытаетесь достичь, бесполезным. Эту ветку уже прочитали более 10 таких людей, и они смеются над нами. Некоторым из них может быть даже скучно до слез, чтобы понять, что мы не можем бросить им новый вызов.
Имейте в виду, что в конечном итоге вы пытаетесь сэкономить не время, а время других. Из-за этого, пожалуйста, подумайте о том, чтобы провести здесь дополнительное время. Нет простой в исполнении волшебной пули, которая бы работала. Если вы работаете в компании, которая публикует на сайте 100 электронных писем, и вы можете уменьшить количество спам-сообщений в день на человека, мы говорим о 36500 спам-писем в год. Если удаление такой электронной почты занимает в среднем 5 секунд, мы говорим о 50 рабочих часах в год. Не говоря уже о сниженной сумме раздражения. Итак, почему бы не потратить несколько часов на это?
Не только вы и люди, которые получают электронную почту, считают время активом. Следовательно, вы должны найти способ запутать адреса электронной почты таким образом, чтобы не взломать его. Если вы используете какой-то широко используемый метод, чтобы запутать электронные письма, он действительно окупится. Так как в результате взломщик получит в свои руки тысячи, если не десятки или сотни тысяч свежих писем. И за них они получат деньги.
Итак, продолжайте и закодируйте свой собственный метод. Это редкий случай, когда изобретать велосипед действительно окупается. Используйте метод, который не является машиночитаемым и который предпочтительно потребует некоторого взаимодействия с пользователем, не жертвуя при этом пользовательским опытом.
Я потратил около 20 минут, чтобы кодировать пример того, что я имею в виду. В этом примере я использовал KnockoutJS просто потому, что он мне нравится, и я знаю, что вы, вероятно, не будете его использовать сами. Но это все равно не имеет значения. Это нестандартное решение, которое широко не используется. Взломать его не будет вознаграждением за это, так как метод его работы будет работать только на одной странице в огромном Интернете.
Вот скрипка: http://jsfiddle.net/hzaw6/
Приведенный ниже код не является примером хорошего кода. Но просто быстрый пример кода, который очень сложно понять машине, мы здесь работаем даже с электронной почтой. И даже если бы это могло быть сделано, это не окупится, чтобы выполнить в больших масштабах.
И да, я знаю, что это не работает в IE = lte8 из-за «Невозможно получить атрибуты свойства» с неопределенной или нулевой ссылкой », но мне просто все равно, потому что это просто демонстрация метода, а не фактическая реализация, и не предназначен для использования на производстве как есть. Не стесняйтесь писать свой код, который круче, технически более надежен и т. Д.
О, и никогда не назови что-нибудь mail или email в html или javascript. Просто слишком легко поцарапать DOM и объект окна для чего-либо с именем mail или email и проверить, содержит ли оно что-то, совпадающее с электронной почтой. Вот почему вам никогда не нужны переменные, которые бы содержали электронную почту в ее полной форме, и именно поэтому вы хотите, чтобы пользователь взаимодействовал со страницей, прежде чем назначать такие переменные. Если ваша объектная модель javascript содержит какие-либо адреса электронной почты в состоянии готовности DOM, вы предоставляете их спамерам.
HTML:
JS
источник
Один из моих любимых методов - скрыть адрес электронной почты с помощью php, классический пример - преобразовать символы в значения HEX следующим образом:
И тогда в моей разметке я просто назову это следующим образом:
Тогда изучите свой источник, вы будете приятно удивлены!
источник
Вы можете попытаться скрыть символы, используя html-объекты в гекса (например, & # x40 для @). Это удобное решение, так как правильный браузер переведет его, и вы можете иметь нормальную ссылку. Недостаток в том, что бот может перевести это теоретически, но это немного необычно. Я использую это для защиты своей электронной почты в своем блоге.
Другое решение состоит в том, чтобы использовать javascript для сборки части адреса и оперативного декодирования адреса. Недостатком является то, что браузер с отключенным JavaScript не будет отображать ваш адрес.
Наиболее эффективным решением является использование изображения , но пользователю неудобно копировать адрес вручную.
Ваше решение довольно хорошее , так как вы добавляете недостаток (пишите вручную @) только для пользователей, у которых отключен JavaScript. Вы также можете быть более безопасными с:
источник
Спам-боты не будут это интерпретировать, потому что это менее известный метод :)
Сначала определите CSS:
Теперь, где бы вы ни хотели отобразить свою электронную почту, просто вставьте следующий HTML-код:
И тада!
источник
Я использую очень простую комбинацию CSS и jQuery, которая правильно отображает адрес электронной почты для пользователя, а также работает при щелчке или наведении на якорь:
HTML:
CSS:
JQuery:
Вот рабочий пример.
источник
! - Добавляя это для справки, не знаю, насколько устаревшей может быть информация, но она рассказывает о нескольких простых решениях, которые не требуют использования каких-либо сценариев
После поиска этого я сам наткнулся на эту страницу, а также на эти страницы:
http://nadeausoftware.com/articles/2007/05/stop_spammer_email_harvesters_obfuscating_email_addresses
попробуйте поменять адрес электронной почты
Пример простого HTML:
Тот же эффект, используя CSS
Сочетание этого с любым из ранее упомянутых методов может даже сделать его более эффективным
источник
Одним из простых решений является использование HTML-сущностей вместо реальных символов. Например, «me@example.com» будет преобразован в:
источник
Вот моя рабочая версия:
Создайте где-нибудь контейнер с резервным текстом:
И добавьте внизу DOM (относительно рендеринга) следующий фрагмент:
Добавляет сгенерированную гиперссылку в указанный контейнер:
Кроме того, вот сокращенная версия:
источник
Лучший способ скрыть адреса электронной почты хорош, пока бот-программист не обнаружит эту «кодировку» и не реализует алгоритм дешифрования.
Опция JavaScript не будет работать долго, потому что есть много сканеров, интерпретирующих JavaScript.
Там нет ответа, имхо.
источник
Есть, вероятно, боты, которые распознают
[at]
и другие маскировки как@
символы. Так что это не очень эффективный метод.Конечно, вы можете использовать некоторые кодировки, такие как URL-кодирование или ссылки на символы HTML (или оба):
Но поскольку их использование разрешено законом, каждый браузер / почтовый клиент должен также обрабатывать эти кодировки.
источник
Я фанат SpamSpan - он запутан, но все еще расшифрован, если JS отключен. Кажется, это тоже работает, хотя я использую его только около года на сайте с низким трафиком.
Существует также модуль для Drupal, который автоматически превращает электронные письма в SpamSpans, если вам это нужно.
источник
Работает ли это, если я щелкну правой кнопкой мыши по ссылке и выберу «Копировать URL»? Если нет, то это очень не идеальная ситуация (я очень редко нажимаю на ссылку mailto, предпочитая копировать адрес электронной почты и вставлять его в мое почтовое приложение или в любое другое место, где он мне нужен в определенный момент времени).
Раньше я довольно параноидально защищал свой почтовый адрес в сети (UseNet, web и т. П.), Но в наши дни я подозреваю, что на самом деле генерируется больше «возможных целей для спама», сопоставляя локальные части с доменами программным путем. Я основываю это на том, что иногда просматриваю логи моего почтового сервера. Как правило, существует довольно много попыток доставки по несуществующим адресам (включая усеченные версии спам-приманки, которые я вешал на UseNet еще в конце 90-х, когда было очень распространено извлечение адресов).
источник
после того, как я использовал много методов, я нашел простой способ и очень дружелюбный, боты ищут @ Símbolo, и недавно они ищут [at] ant, и это вариация, поэтому я использую 2 техники
и изображение alt будет alt = "@", поэтому бот найдет изображение, и любой человек увидит его как обычный адрес, поэтому, если он скопирует его, он скопирует электронное письмо, и задание будет отложено, поэтому код будет
источник
Существует PHP-скрипт с открытой лицензией, который выводит javascript, который кодирует почту: http://www.maurits.vdschee.nl/php_hide_email/ . Затем вы можете легко вызвать функцию php, указав конкретную почту в качестве аргумента.
источник
Во-первых, я хотел бы убедиться, что адрес электронной почты отображается только тогда, когда у вас включен JavaScript. Таким образом, нет простого текста, который можно прочитать без JavaScript.
Во-вторых, один из способов реализовать безопасную функцию - держаться подальше от
<button>
тега. Этот тег требует вставки текста между тегами, что делает его читаемым на компьютере. Вместо этого попробуйте<input type="button">
с обработчиком JavaScript для onClick. Затем используйте все методы, упомянутые другими, чтобы реализовать безопасную запись электронной почты.Еще одним вариантом является наличие кнопки «Нажмите, чтобы увидеть адрес электронной почты». После нажатия это превращается в закодированное письмо (символы в кодах HTML). При повторном нажатии это перенаправляет на функцию «mailto: email»
Не закодированная версия последней идеи с выбираемыми и не выбираемыми адресами электронной почты:
Посмотрите, хотите ли вы этого, и объедините это с идеями других. Вы никогда не можете быть слишком уверены.
источник
И моя функция. Я создал его, глядя на ответы, размещенные в этой теме.
Он использует два метода: справа налево dir и javascript.
источник
Вариант 1: разделите адрес электронной почты на несколько частей и создайте массив на основе JavaScript из этих частей. Затем соедините эти части в правильном порядке и используйте свойство .innerHTML, чтобы добавить адрес электронной почты на веб-страницу.
Вариант 2: использовать изображение вместо текста электронной почты
Сайт создателя изображения из текста: http://www.chxo.com/labelgen/
Вариант 3: мы можем использовать AT вместо «@» и DOT вместо «.»
т.е.
источник
Я не люблю смешивать JavaScript и HTML, поэтому я использую это решение. На данный момент у меня работает нормально.
Идея : вы можете сделать это более сложным, предоставив зашифрованную информацию в
data
-attributes и расшифровав ее в JS. Это просто сделать, заменив буквы или просто поменяв их местами.HTML :
JS :
Попробуйте это: http://jsfiddle.net/x6g9L817/
источник
как насчет HTML_CHARACTER ?:
выходы
источник
Вот простое решение этой проблемы с помощью jquery:
источник
Мне больше всего нравится ответ ofaurax, но я бы изменил его для более скрытого письма:
источник
Я просто должен дать другой ответ. Я просто придумал что-нибудь интересное, чтобы поиграть.
Я обнаружил, что во многих таблицах общих символов буквы @ и az появляются несколько раз. Вы можете сопоставить оригинальных персонажей с новыми сопоставлениями и усложнить для спам-ботов, чтобы выяснить, что такое электронная почта.
Если вы перебираете строку и получаете код символа буквы, затем добавляете к ней 65248 и строите html-сущность на основе числа, вы получаете читаемый человеком адрес электронной почты.
Вот рабочая скрипка: http://jsfiddle.net/EhtSC/8/
Вы можете улучшить этот подход, создав более полный набор сопоставлений между персонажами, которые выглядят одинаково. Но если вы, например, скопируете / вставите электронное письмо в блокнот, вы получите много ящиков.
Чтобы преодолеть некоторые проблемы с пользовательским интерфейсом, я создал электронное письмо как ссылку. Когда вы щелкаете по нему, он переводит символы обратно в их оригиналы.
Чтобы улучшить это, вы можете создавать более сложные сопоставления символов, если хотите. Если вы можете найти несколько символов, которые можно использовать, например, вместо «а», почему бы не назначить их случайным образом.
Вероятно, не самый безопасный подход, но мне действительно было весело играть с ним: D
источник