tl; dr
Скрыть адрес электронной почты от ботов без использования скриптов и сохранить mailto:
функциональность. Метод также должен поддерживать программы чтения с экрана.
Резюме
Обфускация электронной почты без использования скриптов или контактных форм
Адрес электронной почты должен быть полностью видимым для зрителей и поддерживать
mailto:
функциональностьАдрес электронной почты не должен быть в виде изображения .
Электронный адрес должен быть «полностью» скрыт от спам-сканеров, спам-ботов и других сборщиков.
Желаемый эффект:
Никаких скриптов , пожалуйста. В проекте не используются скрипты, и я бы хотел сохранить их в таком виде .
Адрес электронной почты либо отображается на странице, либо может быть легко отображен после какого-либо взаимодействия с пользователем, например открытия модального окна.
Пользователь может нажать на на адрес электронной почты , который , в свою очередь , повлечет за
mailto:
функциональность.При щелчке по электронной почте откроется приложение электронной почты пользователя.
Другими словами,
mailto:
функциональность должна работать.Адрес электронной почты не отображается или не идентифицируется как адрес электронной почты для ботов (включая источник страницы)
У меня нет почтового ящика, полного спама
Что НЕ РАБОТАЕТ
Добавление контактной формы - или чего-то подобного - вместо адреса электронной почты
Ненавижу контактные формы . Я редко заполняю контактную форму. Если адреса электронной почты нет, я ищу номер телефона, а если его нет, я начинаю искать альтернативную услугу. Я бы заполнил контактную форму только в случае крайней необходимости.
Замена адреса изображением адреса
Это создает ОГРОМНЫЙ недостаток для тех, кто использует программу чтения с экрана ( пожалуйста, помните о слабовидящих в своих будущих проектах )
Он также удаляет на
mailto:
функциональность , если вы не сделаете кликабельные изображения , а затем добавитьmailto:
функциональность какhref
для связи, но что поражения цели и теперь электронная почта видны боты.
Что может сработать:
Умное использование
pseudo-elements
inCSS
Решения, использующие
base64
кодированиеРазделение адреса электронной почты и распространение частей по документу, а затем их объединение в модальном окне, когда пользователь нажимает кнопку (это, вероятно, будет включать несколько
CSS
классов и использованиеanchor tags
)Изменение
html
атрибутов черезCSS
@MortezaAsadi изящно поднял эту возможность в комментариях ниже. Это ссылка на полную версию - Статья за 2012 год:
Что, если бы мы могли использовать CSS для изменения атрибутов HTML?
Другие творческие решения, выходящие за рамки моих знаний.
Подобные вопросы / исправления
(Это отличное исправление, предложенное Джо Маллером, оно работает хорошо, но основано на сценариях . Вот как это выглядит;
<SCRIPT TYPE="text/javascript">
emailE = 'emailserver.com'
emailE = ('yourname' + '@' + emailE)
document.write('<A href="mailto:' + emailE + '">' + emailE + '</a>')
</script>
<NOSCRIPT>
Email address protected by JavaScript
</NOSCRIPT>
Ищете функцию обфускатора адресов электронной почты только на php
(Умное решение, использующее оба
PHP
иCSS
для того, чтобы сначала отменить электронное письмо с помощью PHP, а затем отменить его с помощью CSS) Очень многообещающее решение, которое отлично работает! Но это слишком легко решить .Стоит ли в наши дни скрывать адреса электронной почты в Интернете?
(Исправление Javascript)
Лучший способ скрыть адрес электронной почты на веб-сайте?
Выбранный ответ работает . Это действительно хорошо работает. Это включает в себя кодирование электронной почты как
html entities
. Можно ли это улучшить?Вот как это выглядит;
<A HREF="mailto: yourname@domain.com"> yourname@domain.com </A>
Действительно ли работает обфускация адресов электронной почты?
(Выбранный ответ на этот вопрос SuperUser великолепен, и он представляет собой исследование количества спама, полученного с использованием различных методов обфускации.
Кажется, что манипулирование адресом электронной почты,
CSS
чтобы заставить егоrtl
работать. Это тот же метод, который использовался в первом вопросе, который я связал в этом разделе.Я не уверен, что добавление
mailto:
функциональности к исправлению повлияет на результаты.Есть также много других вопросов по SO, на которые есть похожие ответы. Я не нашел ничего подходящего для желаемого эффекта
Вопрос:
Можно ли повысить эффективность (т. Е. Как можно меньше спама) описанных выше методов обфускации электронной почты, объединив два или более исправлений (или даже добавив новые исправления) при:
A- Поддержание mailto:
функциональности; и
B- Поддержка программ чтения с экрана
Редактировать:
Многие из приведенных ниже ответов и комментариев представляют собой очень хороший вопрос, указывающий на невозможность сделать это без какого-либоjs
Вопрос, который задается / подразумевается :
Почему бы не использовать
js
?
Ответ: у меня аллергия на js
Шутя в сторону,
Я задал этот вопрос по трем основным причинам:
Контактные формы становятся все более и более приемлемыми в качестве замены для предоставления адреса электронной почты, чего не следует делать.
Если это можно сделать без сценариев, то это нужно делать без сценариев.
Любопытство: (поскольку я фактически использую одно из
js
исправлений в настоящее время) я хотел посмотреть , приведет ли обсуждение этого вопроса к лучшему способу решения этой проблемы.
mailto:
функциональность и не хотите использовать Javascript, это просто невозможно.