Создание сайта — защищаем контакты от спама

Создание сайта — защищаем контакты от спама изображение поста

При вёрстке сайта возникает необходимость добавления email адресов, icq и другой контактной информации. Этим пользоваться будут не только посетители, но и спаммеры, наполняя спам–базы с помощью автоматических программ сбора такой информации. А кому понравится спам в его личном ящике? Или постоянные предложения купить/продать/посетить по icq?

Мы рассмотрим метод, который поможет предотвратить кражу Ваших контактов автоматическими средствами с целью спама, и при этом предоставим контактный блок таким, какой он есть, на обозрение простым посетителям. В этом нам поможет javascript:

Итак. Воспользуемся помощью двух javascript функций:

  1. string.charCodeAt – возвращает код символа по номеру символа в строке.
  2. String.fromCharCode – возвращает строку, закодированную в виде номеров символов.

Напишем небольшой скрипт, который поможет нам закодировать наш контактный блок от спаммеров:

<script type="text/javascript">
        var lt = '<p id="contacts-email"><a href="mailto:ваш емейл адрес@ваш сайт"" title="Напишите нам письмо">ваш емейл адрес@ваш сайт</a></p><p id="contacts-icq">ICQ: ваш icq</p>';
        var l  = lt.length;
        var ns = '';
        for(var i=0; i < l; i++){
            ns += (ns !== '' ? ',' : '') + lt.charCodeAt(i);
        }
        st = 'String.fromCharCode('+ns+')';
        document.write('&lt;script'+' type="te'+'xt/javascript"'+'&gt;'+ "\n" + ' document.write' + '(' + st+')' + '; ' + "\n" +'&lt;/script'+'&gt;');
</script>

В переменную lt аккуратно помещаем нужные нам данные.

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

Запускаем страничку в браузере и получаем кодированный js контактного блока. Который совершенно обычно выглядит в браузере посетителя, а в коде страницы отображается как:

<script type="text/javascript"> document.write(String.fromCharCode(60,112,32,105,100,61,34,99,111,110,116,97,99,116,115,45,101,109,97,105,108,34,62,60,97,32,104,114,101,102,61,34,109,97,105,108,116,111,58,1074,1072,1096,32,1077,1084,1077,1081,1083,32,1072,1076,1088,1077,1089,64,1074,1072,1096,32,1089,1072,1081,1090,34,32,116,105,116,108,101,61,34,1053,1072,1087,1080,1096,1080,1090,1077,32,1085,1072,1084,32,1087,1080,1089,1100,1084,1086,34,62,1074,1072,1096,32,1077,1084,1077,1081,1083,32,1072,1076,1088,1077,1089,64,1074,1072,1096,32,1089,1072,1081,1090,60,47,97,62,60,47,112,62,60,112,32,105,100,61,34,99,111,110,116,97,99,116,115,45,105,99,113,34,62,73,67,81,58,32,1074,1072,1096,32,105,99,113,60,47,112,62)); </script>

Вставляем на место Вашего контактного блока в HTML и сохраняем. А вот готовый пример, где Вы можете ввести часть Вашего контактного блока (например емейл) и получить его кодированный эквивалент, готовый ко вставке на страницу в кодировке UTF-8:

 
Комментарии