Форум программистов, компьютерный форум, киберфорум
HTML, CSS
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
17 / 17 / 5
Регистрация: 13.02.2011
Сообщений: 107
1

Указание Email на странице (борьба со спамом)

15.02.2011, 18:08. Показов 1340. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
По идее, если в контактной информации сайта указать свой мэйл, то поисковики тут же эту информацию найдут, и ящик окажется в спам листах.

Что если сделать чтобы он как нибудь автоматически генерировался страницей, но в поисковиках не находился. Как это можно проще всего сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.02.2011, 18:08
Ответы с готовыми решениями:

Борьба со спамом
Имеется PostFix который защищен от спама через серых списков (greylisting). Все почты не получают...

Борьба со спамом в Contact Form7
После уставновки на сайт формы контактов с помощью плагина Contact Form7 на почту посыпалось море...

Борьба со спамом в виде рассылки по службе сообщений (telnet)
Все доброго дня! На предприятии наблюдается подобная проблема: Все кому не лень рассылают...

указание заголовка на каждой странице отчета
Каким образом сделать, так чтобы заголовок отчета (во вложенном примере: код и наименование...

5
242 / 61 / 4
Регистрация: 23.01.2011
Сообщений: 165
15.02.2011, 21:29 2
Самый простой способ - изменить адрес, чтобы он не воспринимался ботами, как е-мэйл, например:
mail(собака)site.ru, mail(гав)site.ru Пользователи нормально к такому относятся.
Еще можно заменить спецсимволами HTML, но от всех ботов это все-равно не убережет, хотя спама и поубавится, например: mail@site.ru
Mожно на JavaScript выводить, в поисковиках точно не будет мыла, а вот смогут ли его найти спамботы - вопрос... Например:
HTML5
1
2
3
4
5
6
7
8
  <script type="text/javascript"><!--
   window.onload=function mail() {
    var a="ma";
    var b="@";
    var c="ru";
    document.write(a+"il"+b+"site."+c);
   }//-->
  </script>
Только надо учитывать, что если у пользователей будут отключены скрипты в браузере, то и адреса они не увидят.
0
17 / 17 / 5
Регистрация: 13.02.2011
Сообщений: 107
16.02.2011, 00:37  [ТС] 3
Цитата Сообщение от Rayled Посмотреть сообщение
Mожно на JavaScript выводить, в поисковиках точно не будет мыла, а вот смогут ли его найти спамботы - вопрос...
Очень интересный скрипт, единственное что при этом возникнет проблема с его редактированием, особенно если сайт выполняется для человека, который в этом не сильно разбирается.
Я вот сейчас думаю сделать так, замутить какой-нибудь php или можно даже perl - тоже ничего не мешает - скрипт, для чтения однострочного файла с мылом, и его отображения на странице. При этом, чего я не очень понимаю, необходимо сделать так чтобы файл был недоступен поисковикам, а лишь серверным компонентам которые будут его читать. Какие для этого нужно выставить разрешения на файл?

Цитата Сообщение от Rayled Посмотреть сообщение
Только надо учитывать, что если у пользователей будут отключены скрипты в браузере, то и адреса они не увидят.
И сайта тоже

Добавлено через 1 час 1 минуту
Вобщем я сделал так, PHP файл:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$myFile = "email.txt";
if (file_exists($myFile))
{
$fsize = filesize($myFile);
};
 
if ($fsize > 0)
{
$fh = fopen($myFile, 'r');
$theData = fread($fh, $fsize );
fclose($fh);
echo $theData;
}
else
{
echo "Error. Email is not found!";
};
?>
И файл с мылом:
HTML5
1
хозяйственное@мыло.ру
Установил для него разрешения Chmod 400. Правильно? Теперь поисковик его не должен найти?
0
694 / 534 / 40
Регистрация: 22.06.2009
Сообщений: 1,293
16.02.2011, 07:45 4
Аиас, php это серверный язык программирования. Он формирует какой то html и отдает пользователю. Для php неважно кто запросил файл, поисковик или пользователь, в любом случае выполнится скрипт, сформируется html и отправится по запросу.

Javascript это клиентский язык программирования. Скрипт который предложил Rayled выполнится в браузере конкретного человека, либо интерпретатором поисковика, то есть в html адреса не будет, он появится только после выполнения скрипта.

Итого вот это:
Цитата Сообщение от Аиас Посмотреть сообщение
Установил для него разрешения Chmod 400. Правильно? Теперь поисковик его не должен найти?
Неверно.

Помимо тех способов которые предложил Rayled, email можно скрыть если сделать его картинкой. Картинку тоже можно распознать программно, но это сложнее чем распарсить html.

Мне кажется, что скрывать email бессмысленно. Нужно либо судиться с конкретными фирмами которые рекламируются массовыми рассылками, либо игнорировать спам. Полностью его победить все равно не удастся, а удалять одно письмо со спамом в день, либо удалять 10 таких писем разницы нет.
0
17 / 17 / 5
Регистрация: 13.02.2011
Сообщений: 107
16.02.2011, 17:57  [ТС] 5
Ну хорошо, а что если сделать вот так:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$myFile = "email.txt";
if (file_exists($myFile))
{
$fsize = filesize($myFile);
};
 
if ($fsize > 0)
{
$fh = fopen($myFile, 'r');
$theData = fread($fh, $fsize );
fclose($fh);
 
for ($i = 0;$i < $fsize; $i++) {
    echo (
    chr(  ord( substr($theData, $i, 1)  ) *7)
    );
};
 
}
else
{
echo "Error. Email is not found!";
};
?>
А потом вот так:
Java
1
2
3
4
5
6
7
8
9
10
function unEncrypt(theText)
{
    output = new String;
    TextSize = theText.length;
        for (i = 0; i < TextSize; i++)
            {
            output += String.fromCharCode(theText.charCodeAt(i) / 7);
            }
    return output;
}
Что вы думаете по этому поводу? То есть если мы сделаем PHP файл, который будет считывать email.txt, затем перемножить каждый символ на 7, и выдать на страницу. Соответсвенно Javascript должен это разшифровать с помощью обратного алгоритма и выдать обратно.

Уважаемые программисты, не подскажите будет ли это работать, и как можно реализовать алгоритм передачи и вывода текста?


Я попробовал вот так,
PHP
1
2
3
<div id="asd" >
  <? include ("aaa.php") ?>
    </div>
А потом функцию содержащую
Java
1
document.getElementById('asd').innerHTML=unEncrypt(document.getElementById('asd').innerHTML);
для onload
Ну оно вроде как работает, только мне div не нужен, а нужно текст просто в строчку вывести, и я не знаю как это сделать. Вот только с декодированием пока что какая-то путаница, по всей видимости процесс шифровки, дешифровки и отображения происходит под разными кодировками.
0
17 / 17 / 5
Регистрация: 13.02.2011
Сообщений: 107
16.02.2011, 20:42  [ТС] 6
Во, я с перемножением немного загнул! Я попробовал вместо *7 поставить +1, а вместо /7 поставил -1. Ы, теперь оно работает

Только теперь:
1) как заменить Div? Как-нибудь проще можно? Подскажите плиз.
2) чем можно заменить ord( substr($theData, $i, 1) ) ? нужно просто прочитать код одной буквы в строке, оно то работает, но кажется что я уж черезчур перемудрил с этой строкой.

Добавлено через 1 час 34 минуты
Ура! Я таки разобрался, теперь всё работает!
Выкладываю заново весь код.
index.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<html>
<head>
<title>Показываем наше мыло</title>
<script type="text/javascript">
 
function unEncrypt(theText)
{
    output = new String;
    TextSize = theText.length;
        for (i = 0; i < TextSize; i++)
            {
            output += String.fromCharCode(theText.charCodeAt(i) - 1);
            }
    return output;
}
 
function init()
{
    document.getElementById('mailz').innerHTML = unEncrypt(document.getElementById('phpMail').innerHTML);
}
 
</script>
</head>
<body>
Вот оно родимое: <font color="red">
<span id="mailz"> <a href="javascript:init();">Показать</a> </span>
</font>
 
<span id="phpMail" style="visibility: hidden; position: absolute"><? include ("aaa.php") ?></span>
 
</body>
</html>
aaa.php:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
$myFile = "email.txt";
if (file_exists($myFile))
{
$fsize = filesize($myFile);
};
 
if ($fsize > 0)
{
$fh = fopen($myFile, 'r');
$theData = fread($fh, $fsize );
fclose($fh);
 
for ($i = 0;$i < $fsize; $i++) {
    echo (
    chr(  ord( substr($theData, $i, 1)  ) +1)
    );
};
 
}
else
{
echo "Error. Email is not found!";
};
?>
email.txt:
HTML5
1
хозяйственное@мыло.ру
Вот собственно и всё.
0
16.02.2011, 20:42
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.02.2011, 20:42
Помогаю со студенческими работами здесь

Явное указание мастера страницы на странице View
Доброго времени суток. Работаю в Visual Studio 2017. Хочу на определенной странице указать явно...

Email сервис не требующий подтверждения по номеру телефона и другому email
Доброго времени! Прошу прощения если не туда пишу! Несколько месяцев назад регистрировал почту...

Angular 6 + Firebase email-password authorisation. Email Verification
Есть некоторое приложение с необходимостью регистрации/авторизации (Firebase -email/password). При...

Отправка файлов по имени (email.pdf) на email
Всем привет! Есть куча файлов (около 160) каждый файл называется именем e-maila на который должен...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru