Как защитить почтовый ящик на странице от спама и роботов.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Как то попросили меня сменить название ящика на сайте, убрать старый и поставить новый почтовый ящик в тексте на странице сайта.

Открываю код страницы (так как отдельные страницы, это были отдельные html файлы) и ищу почтовый ящик который заменить, и к моему удивлению, не нахожу его. Делаю правки в файле и сохраняю, чтоб проверить, может не тот файл и не на том хосте открываю, но нет. все верно, файл именно тот, но ящика там нет, а вместо него стоит JavaScript. Изучив его внимательней, понял что он как раз и отображает почтовый ящик но из кодированного текста.

Кодирование и декодирование названия почтового ящика

Вот пример кода, для отображения почтового ящика admin@admin.ru


<script>
var a="benjoAbenjo/sv";
for(var i=0;i<a.length;i++)document.write(String.fromCharCode(a.charCodeAt(i)-1));
</script>

Теперь по подробней, берем строковую переменную a и перебираем все символы и выводим на экран, но код символа смещаем на -1

Фактически это декодирование строки. А допустим нам надо другой ящик, к примеру my-email@admin.ru. Для этого мы кодируем его обратным способом, со смещением +1


<script>

var a="my-email@admin.ru";

for(var i=0;i<a.length;i++)document.write(String.fromCharCode(a.charCodeAt(i)+1));

</script>

Данный код выведет «nz.fnbjmAbenjo/sv»

Теперь подставляем эту строку в скрипт по декодированию и получает изначальное название ящика


<script>

var a="nz.fnbjmAbenjo/sv";

for(var i=0;i<a.length;i++)document.write(String.fromCharCode(a.charCodeAt(i)-1));

</script>

 

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *