No Spam-2Продолжаем заметку про спам ( http://webscript.ru///spectator.ru/issues/260 ). Есть еще один способ бороться с роботами, собирающими email-адреса со страниц. Я даже удивлен, почему никто про него не вспомнил. Придется вспомнить мне. JavaScript. Как вы знаете (если знаете), javascript - это язык, который выполняется на стороне браузера, а не на стороне сервера, как, например, php. Поэтому сам скрипт находится в теле html-документа. На javascript'е есть такая функция - document.write(), которая выводит нужный текст в нужном месте. Например: <script language=JavaScript> document.write('Это текст'); </script> Результат работы скрипта: . Но если мы заглянем в source этой страницы, то мы увидим не просто "Это текст", а яваскрипт, приведенный выше. Конечно, писать что-то вроде document.write('mailto:spectator@mail.ru') смысла нет, потому что робот все равно выцепит адрес, поэтому делаем примерно вот так: <script language=JavaScript> document.write('<a href=mailto:'); document.write('spectator'+'%40'); document.write('mail.ru>мыло</a>'); </script> Результат работы скрипта: %40 - это то же самое, что и "@". Чтобы никто не догадался... Тем не менее, если быть параноиком, можно предположить, что робот, собирающий адреса, "понимает" document.write. То, что он целиком понимает javascript - это навряд ли, повторюсь еще раз - javascript испольняется браузером в момент вывода html-я, однако если смотреть в "исходник" страницы (а именно туда роботы и смотрят), то там будет "запутанный" яваскрипт. Тем не менее, запутать можно сильней. Для этого просто введем переменную. И назовем ее mailto, чтобы еще больше запутать. <SCRIPT>
Работает вот так: Осталось вспомнить про тех, у кого javascript отключен. Есть и такие оригиналы. <SCRIPT>
Дальше - дело техники. Как вставить в форум, гостевую книгу или еще куда-нибудь пару строчек на php, perl'е и прочем (зависит от вашего вкуса), чтобы скрипт сам из простого email-адреса делал вот такой java-скрипт, вы разберетесь сами... p.s. Добавления и багфиксы будут вот здесь ( http://webscript.ru///spectator.ru/issues/267 ). Ждите.
|