LINUX.ORG.RU

Насколько действенно так скрывать мыло?


0

1

Написал тут скриптик для сокрытия мыла от ботов. Как вы думаете, насколько действенен этот способ?

<span id="elm"><a href="javascript:void(0);">открыть</a></span>

<div id="el">
  <div>sample</div>
  <div>@</div>
  <div>mail</div>
  <div>.</div>
  <div>com</div>
</div>

<script type="text/javascript">
  $(document).ready(function() {
    $('#elm > a').click(function () {
      var elmResult = '';

      $('#el').find('div').each(function () {
        elmResult += $(this).text();
      });

      elmResult = '<a href="mailto:' + elmResult + '">' + elmResult + '</a>';

      $('#elm').html(elmResult);
    });
  });     
</script>

Или я Америку открыл?

★★★
Ответ на: комментарий от anonymous

А если в обратно порядке?

elmResult = $(this).text() + elmResult;

VirRaa ★★★
() автор топика
Ответ на: комментарий от anonymous

И ещё можно символ «@» заменять на любое слово, а в яваскрипте уже подставлять вместо слова сам символ.

VirRaa ★★★
() автор топика
Ответ на: комментарий от anonymous

Вот так:

<div id="el">
  <div>org</div>
  <div>[d]</div>
  <div>domain</div>
  <div>[a]</div>
  <div>mail</div>
</div>


<script type="text/javascript">
  $(document).ready(function() {
    $('#elm > a').click(function () {
      var elmResult = '';
      
      $('#el').find('div').each(function () {
        var peace = $(this).text();

        switch (peace) {
          case '[d]':
            peace = '.';
            break;
          case '[a]':
            peace = '@';
            break;
          default:
            break;
        }
        
        elmResult = peace + elmResult;
      });

      elmResult = '<a href="mailto:' + elmResult + '">' + elmResult + '</a>';

      $('#elm').html(elmResult);
    });
  });     
</script>
VirRaa ★★★
() автор топика

Делайте из «мыла» штрихкод и вставляйте его - самый надежный способ (пока). Ну, а ниже можно ссылочку дать на какую-нибудь программку (или on-line сервис, если такое есть) для распознавания штрих-кода :)

Eddy_Em ☆☆☆☆☆
()
Ответ на: комментарий от VirRaa

Тогда генерируйте картинку при помощи ImageMagic, с добавлением некоторого мусора, и вставляйте ее. Вряд ли спамерские роботы будут еще и каждую картинку распознавать...

Я зачастую довольствуюсь минимальной защитой (как, например, мое мыло в профиле).

Eddy_Em ☆☆☆☆☆
()

Открою страшную тайну - уже давным-давно никто не парсит веб-странички на предмет е-мейлов. У спамеров есть куда более действенные методы пополнять свои базы

boombick ★★★★★
()
Ответ на: комментарий от Eddy_Em

>Тогда генерируйте картинку при помощи ImageMagic, с добавлением некоторого мусора, и вставляйте ее.

Пользователь, к сожалению, привык либо кликать на адрес, либо копировать его. Переписывать адрес с картинки никто не будет, а значит в некоторых случаях весь смысл публикации емейла пропадает.

anonymous
()

Да кому в XXI веке нужен email, когда есть jabber свободный от спама.

По сабжу все несколько иначе... даже если адрес сделать картинко то любой кто его узнает может выложить его как попадя, открытым текстом.

anonymous
()
Ответ на: комментарий от guilder

За подробностями к Шаману. Источники спамбаз - это всякие дырявые аутглюки и всякие дейтинг-базы. Ну кому надо парсить странички, когда можно получить сразу несколько миллионов адресов?

Я эксперимент проводил: зарегестрировал домен, поднял на нем почту и писал его в открытую на форумах. Без фанатизма конечно, но вообщем не скрывал. Ни одного спам-письма не пришло.

boombick ★★★★★
()
Ответ на: комментарий от boombick

> Открою страшную тайну - уже давным-давно никто не парсит веб-странички на предмет е-мейлов. У спамеров есть куда более действенные методы пополнять свои базы

Инфа 100%?

VirRaa ★★★
() автор топика
Ответ на: комментарий от boombick

А если возьму и распаршу, а?
Допустим мне вдруг понадобилось рассылать спам для женщин-любительниц некро-зоо-порнографии из Индонезии. Где мне найти такую базу, не знаешь?
Поэтому пишу скрипт и велю ему собрать все е-мейлы с форума www.fuckdeadcats.id.

certanista
()
Ответ на: комментарий от certanista

Да, распарсить можно. Но это делалось для моего личного сайтика-визитки, там только моё мыло =)

VirRaa ★★★
() автор топика

Пытаться скрыть мыло, разделив его части тегами — точно бессмысленно. Теги по-любому будут стрипаться. Безопаснее, по-моему, будет уж тогда выводить e-mail скриптом, т.к. это уже потребует выполнить скрипт.

Думаю что-нибудь такое:

<a class=«js-email» data-user=«username» data-host=«example.com»></a>

$(document).ready( function()
{
$(document).find('a.js-email').each( function( el )
{
el.set( 'href', 'mailto:' + el.get('data-user') + '@' + el.get('data-host') );
el.html( el.get('data-user') + '@' + el.get('data-host') );
});
});

avol
()
Ответ на: комментарий от shrub

Слишком напряжно для посетителей =)

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

Ну я писал относительно варианта, что в шапке. А в этом с обратным порядком дела обстоят, конечно, лучше, но я всё-равно не понимаю, зачем так трешировать разметку? Если хочется, чтобы пользователь хоть что-то увидел и без скриптов, то можно прямо в тег a и поместить это:

<a class=«js-email»>В обратном порядке: com[d]example[a]user</a>

$(document).ready( function()
{
	$(document).find('a.js-email').each( function( el )
	{
		var email_str = el.html();
		email_str = email_str.replace( '[d]', '.' );
		email_str = email_str.replace( '[a]', '@' );
		var email_hash = /(\S+)\.([^.]+)@([^@]+)$/.exec( email_str );
		
		el.set( 'href', 'mailto:' + email_hash[3] + '@' + email_hash[2] + '.' + email_hash[1] );
		el.html( email_hash[3] + '@' + email_hash[2] + '.' + email_hash[1] );
	});
});

И заменять, на мой взгляд, не по клику, а при загрузке — чтобы честного пользователя не пугать…

avol
()

трёхбуквенная капча на страницу с контактами -=> профит

minakov ★★★★★
()
Ответ на: комментарий от certanista

Даже 10 подобных тебе отморозков погоды не сделают :) А скрывание е-мейлов на странице - обычное задротство, не более того

boombick ★★★★★
()

Изменять мыло от ботов - это полная лажа. и не Ъ.
гораздо логичнее и правильнее это бороться со спамом.
я мыло никогда не скрываю, а вывешываю прямо на сайт в тексе.
а гугл мне уже помогает бороться со спамом.

ppy ★★★
()
Ответ на: комментарий от boombick

Я боюсь таких отморозков не 10 и не 100, а гораздо больше. Вот недавно спам пришел

Привет _тут мое имя и фамилие_!

Команда хостинговой компании _тут название этой лавки_ предлагает Вам воспользоваться нашими услугами виртуального хостинга.

…бла-бла-бла…

И я даже знаю откуда они пару мое_мыло:мое_имя сперли с точностью до трех сайтов.

А вообще ppy прав.

certanista
()
Ответ на: комментарий от shrub

>то можно рекапчу поставить. Заодно поможешь книги оцифровывать :)

Которые потом сможешь посмотреть, только заплатив. Т.е. ты бесплатно поработаешь на дядю, а он за твой труд получит деньги, по сути из воздуха.

Заодно лишишь кого-то рабочих мест.

Рекапчу на сайты ставят только самые откровенные уроды, уж извините.

anonymous
()
Ответ на: комментарий от certanista

Рекомендую на этот счет поспрашивать Шамана. Он владеет инсайдерской информацией

boombick ★★★★★
()

Присоединяюсь к высказавшим мнение о ненужности скрытия адреса e-mail. Google прекрасно фильтрует спам.

Wizard_ ★★★★★
()

Что это я написал?

<script language="JavaScript">
var login  = 'spammer';
var server = 'must.die';
var email  = login+'@'+server;
var url = 'mailto:'+email;
document.write('<a href="'+url+'">'+email+'</a>');
</script>
DarkPenguin
()
Ответ на: комментарий от DarkPenguin

Тогда уж:

[code=javascript]
<script language=«JavaScript»>
var email = 'spammer'+'@'+'must.die';
document.write('<a href=«mailto:'+url+'»>'+email+'</a>');
</script>
[/code]

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

>Тогда уж:

Тогда уж можно попробовать?

[code=javascript]

<script language=«JavaScript»>

var email = 'spammer'+'@'+'must.die';

document.write('<a href=«mailto:'+url+'»>'+email+'</a>');

</script> [/code]

Но как же Lorcode?

DarkPenguin
()
Ответ на: комментарий от DarkPenguin

Ладно. Вот.

<script language="JavaScript">
var email = 'spammer'+'@'+'must.die';
document.write('<a href="mailto:'+email+'">'+email+'</a>');
</script>
VirRaa ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.