Создание сайтов, web-дизайн, мультипликация Больше чем система управления сайтом
Сайт на CMS Битрикс:
Автомобильная компания

Выбираем имена:
bazar.com.ua
road.com.ua
magic.com.ua
trainer.com.ua
MedCentr.com.ua
wisdom.com.ua
flow.com.ua
run.com.ua
total.com.ua
plus.com.ua
fv.com.ua
7i.com.ua
Ваши предложения...

Защити свой сайт от спама

Советы Веб-разработчику

Данные способы защиты применимы только к небольшим сайтам, не вызывающим повышенного интереса со стороны спамера. Для большого сайта с множеством e-mail адресов пользователей следует использовать формоотправители, т.к. спамеру не сложно будет проанализировать метод прятанья адреса и, написав не сложный скрипт, собрать все адреса для своих рассылок.

Вариант 1. Размещение вместо e-mail адреса скрипта на javascript.

<script language="javascript">
var mailto = 'orion-studio.com.ua';
mailto = 'nospam' + '@' + mailto;
var content = 'Наша электронная почта';
document.open();
document.write('<a class="mailto" href="mailto:' + mailto + '" title="Послать письмо ' + mailto + '">' + content + '</a>');
document.close();
</script>

А так выглядит результат работы данного скрипта в браузере пользователя:

Конечно, заменять в html-коде каждую e-mail ссылку на скрипт - работа не приятная и не оправданная. Решением использования данного метода может быть использование обработчика вывода страницы в браузер пользователя. Функцией обработчика должна быть задача, превращающая все ссылки вида:

<a href="mailto:name@domen.com" Title="Title">Name</a>
на подобный код javascript. Эта задача легко реализуема с помощью регулярных выражений.

Вариант 2. Пример использования регулярных выражений для обработки содержимого страницы все с той же идеей использования javascript.

<?php
$html = '<a href="mailto:name@domen.com">Name</a>';

$html = preg_replace("~(<a[^>]+href=)([\"']?)mailto:([\\w_\\.\\-]+)([\\w_\\.\\-])@([\\w_\\.\\-])([\\w_\\.\\-]+\\.[a-z]{2,4})\\2([ >])~i", "\\1\"mailto:spamux@nospam.ru\" onMouseover=\"this.href='mai' + 'lto:\\3' + '\\4' + '%40' + '\\5' + '\\6';\"\\7", $html);

echo $html;
?>

Получим на выходе преобразованный код:

<a href="mailto:spamux@nospam.ru" onMouseover="this.href='mai' + 'lto:nam' + 'e' + '%40' + 'd' + 'omen.com';">Письмо</a>

Результат отображения в браузере: Письмо

Вариант 3. Javascript с кодированием e-mail ссылки.

<script language="javascript">
var a = 'DMEBCAEIFCEFEGDNCCGNGBGJGMHEGPDKGNGFEAGCGFGFHCCOHFGBCCDO' + 'Письмо' + 'DMCPEBDO';
for(i=0; i < a.length; i++)
{
  document.write((a.charCodeAt(i)<=127) ?
    String.fromCharCode((a.charCodeAt(i)-65)*16+(a.charCodeAt(++i)-65)) :
    a.charAt(i));
}

</script>

Результат отображения в браузере:

Вариант 4. Javascript с использованием метода fromCharCode, случайной арифметики и метода link.

Метод fromCharCode создает новую строку (но не строковый объект), которая является конкатенацией символов Unicode.

Метод link возвращает строку, состоящую из примитивного значения строкового объекта, заключенного в теги <a href="uri">:</a>. Проверки на то, не была ли исходная строка уже заключена в эти теги, не делается. Этот метод используется совместно с методами document.write и document.writeln для создания в HTML-документе гиперссылки с заданным uri. Например, оператор document.write("МойСайт".link("www.MySite.com")) эквивалентен оператору document.write('<a href="www.MySite.com">МойСайт</a>').

<script>
document.write(String.fromCharCode(0x041F,0x438,0x441,0x044C,0x43C,0x043E).link.(String.fromCharCode(104+5,0x8d-0x4-0x28,0151,-0xac+0x9c+0174,0353-0x77,111,101-43,-243-26+379,-154+0411,-0x7b+0356,112,0x61,-0x90+0375,0xac-0xcd+0141,-0x90+0375,0x61,-135+240,-017+0173,0xa3+79-0xc4,-0xe2+325,0157,-41+0226)));
</script>

Результат отображения в браузере:

НазадДальше К началу