Как то попросили меня сменить название ящика на сайте, убрать старый и поставить новый почтовый ящик в тексте на странице сайта.
Открываю код страницы (так как отдельные страницы, это были отдельные 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>