![]() |
|
|
|
| |||||||||||
|
| |||||||||||||||
| СтатьиJavaScript: прячем e-mail от спам-ботов[14.10.2004]Совершенно достал спам? А предохраняетесь ли вы, публикуя адрес своего почтового ящика? :) Если у вас есть свой сайт, стоит задуматься о скрытии своего адреса e-mail от спам-ботов, которые хотят его выловить. Если публиковать его в явном виде, количество приходящего спама может резко увеличиться. Можно писать адрес на картинке, но тогда пользователю придётся перенабирать его вручную, а если у вас e-mail длинный и сложный, он может ошибиться. Можно «шифровать» его (например, заменять @ на (at), -sobaka- и т.п.), но многие умные боты обходят такие методы. И, наконец, третий способ, про который мы и поговорим — маскировка с помощью JavaScript. Для начала нужно создать файл скрипта (например, mail.js) в нужной директории (например, scripts/). Теперь, когда вам нужно будет писать ссылку на e-mail, включайте этот скрипт в страницу. В файле mail.js пишем следующий код:
Мы разбили адрес на два куска, ни один из которых не включает символ @, а потом вывели их. Для использования данного скрипта в нужных местах просто пишите это:
Не забывайте всегда закрывать тег <script>.
Так вы довольно серьёзно защитите свой адрес от спамеров. Можно придумать и более сложные алгоритмы, при которых ни один символ в массиве не будет совпадать с соответствующим символом в адресе. Данный метод позволяет замаскировать адрес для непрошенных гостей и сохранить удобство для посетителей — им будет видна полноценная ссылка.
Универсальный скрипт для вывода чужих адресов(обновление от 08.10.2004)Если на сайте вы публикуете не только свой e-mail, но и другие, неразумно для каждого из них создавать отдельный скрипт. Поэтому напишем один универсальный. В нём будет функция, которой мы будем передавать два параметра — name и domain, а она будет выводить нормальную ссылку. Допустим, скрипт будет иметь имя mail2.js и будет лежать в той же папке scripts/. Вот его код:
Чтобы использовать этот скрипт, включайте его на нужных страницах. Для этого пишите следующее (желательно между тегами <head> и </head>):
Предположим, что мы хотим опубликовать e-mail мистера Someone (someone@something.com). Пишем:
А выглядеть это будет так:
Рекомендую перед использованием примеров из этой статьи усложнить алгоритмы, чтобы даже самые умные боты не смогли в них разобраться :) Приведу пару примеров.
Здесь мы включили лишние символы @ и ., которые впоследствии убираются с помощью регулярных выражений. Такими символами можно запутать адрес так, что сами потом не разберётесь :) В переменной domain настоящая точка заменена символом !. Этот же способ легко адаптируется и под второй случай:
Теперь, соответственно, для публикации адреса мистера Someone мы должны писать примерно такой код:
Антон Ильмянов
веб-страница восстановление данных с винчестера
| ||||||||||||||
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
| |||||