Финансовая поддержка VPS, бесплатные дополнения и docs Донаты оплачивают сервер и двигают бесплатные дополнения MODX и документацию. Поддержать

Всего 126 142 комментария

Виталий Воропаев
Виталий Воропаев
Поддержу Василия, аналогично Яндексу, существует и бесплатный Gmail.

Оба сервиса поддерживают привязку к домену, что нельзя не отметить, собственно фильтрация СПАМа не единственный плюс, а оценить всю силу, красоту и простоту данных сервисов можно прочувствовать пользуясь ими, на протяжении длительного промежутка времени.
Виталий Воропаев
Виталий Воропаев
Добрый вечер, уважаемые участники!

Боты выполняющие javascript — реальность, часто встречающаяся.
Соответственно, специализированный скрипт, с вероятностью 90% получит желаемое, то бишь e-mail за которым он пришел.

Интересно мнение практикующих.
Алексей Карташов
Алексей Карташов
Средства modx здесь не при чём. Простой яваскрипт.
Этот код вставить в месте, где нужно вывести ссылку:
<script>
    var Base64={_keyStr:'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',encode:function©{for(var a='',d,b,f,g,h,e,i=0,c=Base64._utf8_encode©;i<c.length;)d=c.charCodeAt(i++),b=c.charCodeAt(i++),f=c.charCodeAt(i++),g=d>>2,d=(d&3)<<4|b>>4,h=(b&15)<<2|f>>6,e=f&63,isNaN(b)?h=e=64:isNaN(f)&&(e=64),a=a+this._keyStr.charAt(g)+this._keyStr.charAt(d)+this._keyStr.charAt(h)+this._keyStr.charAt(e);return a},decode:function©{for(var a='',d,b,f,g,h,e=0,c=c.replace(/[^A-Za-z0-9\+\/\=]/g,'');e< c.length;)d=this._keyStr.indexOf(c.charAt(e++)),b=this._keyStr.indexOf(c.charAt(e++)),g=this._keyStr.indexOf(c.charAt(e++)),h=this._keyStr.indexOf(c.charAt(e++)),d=d<<2|b>>4,b=(b&15)<<4|g>>2,f=(g&3)<<6|h,a+=String.fromCharCode(d),64!=g&&(a+=String.fromCharCode(b)),64!=h&&(a+=String.fromCharCode(f));return a=Base64._utf8_decode(a)},_utf8_encode:function©{for(var c=c.replace(/\r\n/g,'\n'),a='',d=0;d<c.length;d++){var b=c.charCodeAt(d);128>b?a+=String.fromCharCode(b):(127<b&&2048>b?a+=String.fromCharCode(b>> 6|192):(a+=String.fromCharCode(b>>12|224),a+=String.fromCharCode(b>>6&63|128)),a+=String.fromCharCode(b&63|128))}return a},_utf8_decode:function©{for(var a='',d=0,b=c1=c2=0;d<c.length;)b=c.charCodeAt(d),128>b?(a+=String.fromCharCode(b),d++):191<b&&224>b?(c2=c.charCodeAt(d+1),a+=String.fromCharCode((b&31)<<6|c2&63),d+=2):(c2=c.charCodeAt(d+1),c3=c.charCodeAt(d+2),a+=String.fromCharCode((b&15)<<12|(c2&63)<<6|c3&63),d+=3);return a}};
    // сюда поместить сгенерированную строку:
	var str = 'PGEgaHJlZj0ibWFpbHRvOm1haWxAbWFpbC5ydSI+bWFpbEBtYWlsLnJ1PC9hPg==';
	document.write(Base64.decode(str));
</script>
, где «PGEgaHJlZj0ibWFpbHRvOm1haWxAbWFpbC5ydSI+bWFpbEBtYWlsLnJ1PC9hPg==» — это закодированная методом Base64.encode строка:
<a href="mailto:mail@mail.ru">mail@mail.ru</a>
Соответственно, если вам надо в этой строчке что-то поменять, в консоли браузера выполните:
str = '<a href="mailto:new-mail@mail.ru">new-mail@mail.ru</a>';
	console.log(Base64.encode(str));
И скопируйте в код выше (где находится соответствующая пометка) получившуюся строку в консоли.
Василий Наумкин
Василий Наумкин
Василий Наумкин
Василий Наумкин
Поддомен — это обычный сайт, у которого чуть длиннее имя.
Значит, нужно делать точно так же: запустить скрипт установки, указать нового юзера и полный адрес поддомена.

Или, если нужно, можно сделать это вторым контекстом и просто дописать его адрес в /etc/nginx/sites-available/sitename.conf, чтобы Nginx на него отзывался. Дальше MODX разберётся, что отдавать, по какому запросу.