Скрытие электронной почты от спам-ботов без использования JavaScript - PullRequest
2 голосов
/ 29 августа 2009

У меня есть форма "свяжитесь с нами", которая использует Ajax (то есть использует асинхронные запросы).

В случае, если у пользователя отключен JavaScript, я хочу отобразить сообщение, говорящее что-то вроде:

Вам необходимо включить Javascript, чтобы использовать эту контактную форму. Если вы не можете или не знаете, что такое Javascript, воспользуйтесь электронной почтой и свяжитесь с нами по номеру <the_email_address>.

Но, конечно же, я хочу скрыть the_email_address от спам-ботов.

Поскольку этот адрес электронной почты должен отображаться внутри <noscript>, нет смысла шифровать его с помощью Javascript, особенно учитывая тот факт, что некоторые пользователи могут просто даже не знать, что такое Javascript.

Я подумал о решении, но у меня нет возможности проверить его: вставка пустых тегов <span></span>, как в

my_em<span></span>ail@g<span></span>mail.com

Или, немного умнее

my_em<span style="display:none">garbage</span>ail@gmail.com

Будет ли это работать? Если нет, то есть идеи получше?

Обновление

Спасибо RichieHindle за ответ. Я думал, что поделюсь простой реализацией идеи в python:

def html_nospam(string):
    def ent(char):
        return "&#%d;" % ord(char)
    return ''.join([ent(c) for c in string])

Ответы [ 3 ]

4 голосов
/ 29 августа 2009

А как насчет изображения?

альтернативный текст http://www.codegeeks.net/wp-content/uploads/2009/08/s.png

или используйте microsoft tag :) чтобы выглядеть круто

альтернативный текст http://www.codegeeks.net/wp-content/uploads/2009/08/My_Contact_2009829838261.jpeg

Изменить: Просто прочитайте ваш комментарий выше относительно вашей аудитории. Похоже, тег MS будет для них слишком большим:)

4 голосов
/ 29 августа 2009

Используйте объекты HTML, чтобы скрыть это. x@y.com становится &#120;&#64;&#121;&#46;&#99;&#111;&#109;.

Вы могли бы подумать, что адресные харвестеры были бы мудрыми для этого, но многие нет. Конечный результат для пользователя (использует ли он браузер или программу чтения с экрана) неотличим от обычного текста.

Есть онлайн-инструменты , которые вы можете использовать для конвертации.

0 голосов
/ 29 августа 2009

Сделайте это изображением. Или используйте Flash (или Silverlight, ActiveX и т. Д.).

...