Я разработал в своем приложении систему, в которой электронные письма собираются с помощью регулярного выражения, а затем меняются местами в источнике (чтобы помешать ботам). Затем я добавляю класс span «запутать электронную почту». Затем я использую CSS, чтобы отменить отображение текста, а Javascript проверяет, что ссылки mailto: по-прежнему работают.
Я был очень доволен своим решением, пока не понял, что копирование и вставка электронного письма помещает его в буфер обмена в обратном порядке. Мне было интересно, есть ли способ исправить это? Я тестировал Firefox 3 для OS X.
Соответствующая страница доступна здесь: http://www.leaklocations.com.au/contact-us/
Чтобы увидеть проблему, просто скопируйте и вставьте электронное письмо на этот сайт.






Вы можете использовать тот же Javascript, чтобы перевернуть текст, а также ссылки mailto. Если у пользователя нет Javascript, вы можете решить эту проблему или использовать изображение.
Проблема с изображениями заключается в том, что текстовые браузеры не могут получить доступ к адресу электронной почты. Предлагаю форму договора с CAPTCHA.
Да, прости. Вы также можете использовать такой текст, как «имя пользователя в домене, точка com». Или это сейчас разбирают спамеры?
@A. Рекс: Я видел в сети кучу регулярных выражений, которые могли понять многие их вариации.
Серьезно, стоит ли все эти попытки скрыть адреса электронной почты? Как только электронное письмо попадает в руки спамера, все кончено. Лучше вместо этого иметь хороший спам-фильтр.
И если вы используете JavaScript для обратного изменения адресов электронной почты, вы добавляете дополнительную работу браузеру при загрузке страницы. Если JavaScript отключен или пользователь использует мобильное устройство, которое не поддерживает JavaScript, они тоже облажались.
Я бы предположил, что перевернуть строку не должно быть слишком много на движке Javascript.
Почему бы вместо этого не использовать что-то вроде ПочтаСкрыть от разработчиков reCaptcha, чтобы скрыть адреса электронной почты?
Это хорошая идея ... к сожалению, клиенты, похоже, хотят чего-то особым образом.
Я лично считаю, что это перебор, но если вы действительно хотите скрыть адрес, почему бы не скрыть его в удобочитаемом виде? Вместо того, чтобы менять адрес на противоположное, сделать так, чтобы сервер выводил "информацию о местах утечки, точка com точка au" и получил javascript, чтобы исправить это?
Если вы хотите придерживаться метода RTL CSS, вы можете попробовать поиграть с символом Unicode, чтобы перевернуть текст: \ u202E Не уверен, что это поможет, но на него стоит взглянуть
Чтобы увидеть, как это работает, запустите этот javascript:
alert("one \u202E two \u202E three")
и он выведет "один или три"
Лично я бы предпочел не беспокоиться об этом и принять спам-удар. Хотя я использую спам-фильтр с точностью 99,5%. :)