В этой статье я расскажу вам, как спрятать контактный адрес электронной почты на сайте от ботов. Статья пригодится как для новичков. так и для продвинутых пользователей
Статьи Время чтения: 4 минуты Просмотров: 2097
У вас есть свой сайт и вы хотите указать адрес электронной почты на сайте для того, чтобы посетители могли легко связаться с вами и вместе с тем вы хотите, чтобы спам-боты не смогли распознать ваш e-mail на странице и спамер не смогли присылать спам вам на электронную почту.
Спам-боты используют обычные регулярные выражения (regular expession) в своей работе, чтобы распознавать адрес электронной почты на вашем сайте, если адрес опубликован в виде обычного текста, но вы можете обмануть ботов, скрыв ваш адрес электронной почты с помощью простых CSS и JavaScript методов. В этой статье мы их и рассмотрим.
Можно использовать псевдо-элементы ::before и ::after для добавления имени пользователя и имени домена по обоим сторонам символа @. Боты, которые обычно не видят CSS, смогут обнаружить только знак @, в то время как браузеры будут показывать полный адрес электронной почты, который, в данном случае, является john@gmail.com.
@
Еще один вариант предложил @orlie, в котором также запись делается еще больше не понятной. И также используются псевдо-элементы.
Недостатком этого подхода является то, что пользователи не смогут скопировать ваш адрес электронной почты и им придется записывать его вручную.
Если вы хотите использовать псевдо-элементы и хотите, чтобы пользователи могли копировать email, то можете попробовать использовать следующий подход:
johnabc.com
Можно написать адрес электронной почты в обратном порядке (test@abc.com изменить на moc.cba@tset) и затем используя unicode-bidi и с помощью css-свойства direction изменить направление текста. Таким образом адрес на странице будет показан в нормальном виде. Текст можно будет копировать, но он будет скопирован в обратном направлении
moc.cba@nhoj
Можно добавить дополнительные символы/слова в адрес e-mail, чтобы запутать спам-ботов и скрыть их с помощью css-свойства display:none. Таким образом на экран выведется правильный адрес e-mail, а спам-боты увидят неправильный адрес e-mail.
johnREMOVE@abcREMOVE.com
Можно создать mailto гиперссылку для e-mail адреса и заменить на текст некоторые символы – точки и знак @. Затем добавить событие onClick для этой ссылки, которое будет делать замена неправильного текста на правильные символы.
Связаться со мной
Разбейте название своего e-mail на несколько частей и создайте массив из этих частей. В javascript соедините ячейки массива в нужном порядке и выведите на страницу, используя свойство .innerHTML
Если вы используете CMS WordPress, то у вас есть возможность использовать функцию antispambot() для кодирования вашего e-mail адреса. Функция кодирует символы в адресе в цифровой вид (символ @ становится@
, буква а –а
) и при этом они будут правильно отображаться в браузере.
E-mail адрес также можно преобразовать с помощью специального сервиса.
И наконец, если вы действительно хотите, чтобы спам-боты не смогли увидеть ваш адрес электронной почты, не ставьте его на страницы вашего сайта =) или используйте reCaptcha от компании Google. Скрывайте адрес электронной почты за капчей, а чтобы пользователи смогли увидеть его, они должны правильно ввести капчу.