Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

Как работают спам-роботы?   Найти похожие ветки 

 
cyborg ©   (2006-08-02 17:18) [0]

Кто нибудь в курсе как бороться со спамом на форуме?

Ситуация такая, на форуме у меня пишут спамеры, некоторые сообщения даже крякозябрами, следовательно возникли подозрения, что это пишут (рассылают) какой-то программой.

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

Ну не может быть, что это спамер лично сидит, открывает странички на форуме и оставляет сообщения по несколько штук.

У меня подозрение, что спам-бот грузит страницу форума, ищет поля ввода, заполняет и отсылает все данные формы. Но как он разбирается что это поле для названия темы, а это для сообщения!?

Как бороться, есть мысли?


 
vidiv ©   (2006-08-02 17:23) [1]

Ввод простого числового кода хорошо себя зарекомендовал, ИМХО.
Или часть (типа секретную) формы можно заполнять javascript-ом. Далеко не все спам-роботы смогут выполнить javascript :)


 
Ketmar ©   (2006-08-02 17:25) [2]

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

можно, конечно, каждый раз динамически строить страницу наобум или делать извраты с JS. а можно не пускать нерегистрированых. %-)


 
cyborg ©   (2006-08-02 17:25) [3]

> [1] vidiv ©   (02.08.06 17:23)
> Ввод простого числового кода хорошо себя зарекомендовал,

Да, только мне, как пользователю, такая система не нравится.


 
antonn ©   (2006-08-02 17:27) [4]

есть идея, только не знаю, как ее сделать, на тот случай, если отправляют с загруженной страницы.
допустим есть поле ввода(имя, тема), создаем еще одно такое же, но невидимое(скрытое и тп). Первое называем date("d.m.Y"); (php), во второе запихываем это же значение, но его имя известно("поле_номер_два"). При субмите можно сделать так?
if(isset($_POST["submit"])){
if(!$_POST[$_POST["поле_номер_два"]]==""){
усе ок
}
}

просто я не знаю, заработает вторая строка или нет...


 
vidiv ©   (2006-08-02 17:27) [5]


> Да, только мне, как пользователю, такая система не нравится.

Тогда остаются "извраты с JS" =)


 
Marser ©   (2006-08-02 17:34) [6]

> а можно не пускать нерегистрированых. %-)

90-95% забаненых у Экслера - там регистрация с авторизацией, спамеры.


 
vidiv ©   (2006-08-02 17:36) [7]

Вот пример очень слабого изврата с JS:
Общее:
<?
$FormSectet = "asdfghj=))) CODE asdasd";
?>

При создании формы:
<?
$code = md5(uniqid(rand(0,65535), true));
$setcode = md5(str_replace("CODE", $code, $FormSectet));
?>
<form>
<input type="hidden" name="code" value="<?=$code?>" />
<input type="hidden" name="setcode" id="setcode" value="" />
...
</form>
<script language="javascript" type="text/javascript">
document.getElementById("setcode").value = "<?=$setcode?>";
</script>

При проверке:
<?
if (md5(str_replace("CODE", $_POST["code"], $FormSectet))!=$_POST["setcode"]) {
echo "пошел вон, спамер вонючий";
}
?>

PS: набрал но не проверял :)


 
cyborg ©   (2006-08-02 17:45) [8]

> [7] vidiv ©   (02.08.06 17:36)

У меня там уже есть секретное слово, меняющееся, но подставлять его ява скриптом в форму я не догадался :)

Попробую.


 
vidiv ©   (2006-08-02 17:51) [9]


> У меня там уже есть секретное слово, меняющееся, но подставлять
> его ява скриптом в форму я не догадался :)
>
> Попробую.

Можно еще сложнее сделать, при создании:

<?
$code = md5(uniqid(rand(0,65535), true));
$setcode = md5(str_replace("CODE", $code, $FormSectet));
?>
<form>
<input type="hidden" name="code" value="<?=$code?>" />
<input type="hidden" name="setcode" id="setcode" value="" />
...
<textarea id="textbox"></textarea>
...
</form>
<script language="javascript" type="text/javascript">
function fillcode() {
   document.getElementById("setcode").value = "<?=$setcode?>";
}
document.getElementById("textbox").onfocus=fillcode;
</script>

Разумно ведь предположить, что нельзя заполнить поле, не передав ему фокус :)


 
Vitalik ©   (2006-08-02 17:54) [10]


> Да, только мне, как пользователю, такая система не нравится.

На самом деле ввод числового кода - не единственный способ отличить живого спамера от спамера-робота ;)

Я, например, встречал такие гостевухи, в которых пользователю задавался простой вопрос, ответ на который общеизвестен.
Скажем, "введите пятый цвет радуги". По-моему очень элегантный способ. А как вам?


 
cyborg ©   (2006-08-02 17:57) [11]

Сделал, вроде работает.
Отключаю в Опере ява скрипт, говорит "Изменён код доступа", пущай теперь спамеры извилину напрягают :)


 
cyborg ©   (2006-08-02 17:57) [12]

Забыл :)
Спасибо за совет!


 
Gero ©   (2006-08-02 17:59) [13]

> [10] Vitalik ©   (02.08.06 17:54)

Если я не знаю, какой у радуги пятый цвет, то я пролетаю, так?


 
Gero ©   (2006-08-02 18:07) [14]

Бороться лучше всего так: http://files.rsdn.ru/29342/facecontrol.png


 
Kerk ©   (2006-08-02 18:08) [15]

Все эти картинки давно научились обходить весьма эффективно


 
Marser ©   (2006-08-02 18:10) [16]

А если всунуть в спам-робот нейронную сеть, наученную на тысяче вариантов парочки защит? :-)


 
vidiv ©   (2006-08-02 18:11) [17]


> Все эти картинки давно научились обходить весьма эффективно

да ну =)))
Декаративный шрифт + особенность начертания + правильная интеграция = hren обойдешь :)


> Vitalik ©   (02.08.06 17:54) [10]
>
> > Да, только мне, как пользователю, такая система не нравится.
>
>
> На самом деле ввод числового кода - не единственный способ
> отличить живого спамера от спамера-робота ;)
>
> Я, например, встречал такие гостевухи, в которых пользователю
> задавался простой вопрос, ответ на который общеизвестен.
>
> Скажем, "введите пятый цвет радуги". По-моему очень элегантный
> способ. А как вам?

Я, например, не знал раньше как по английски земля, а это был вопрос по умолчанью для QIP :) Вот так вот не получилось поздравить человека по аське :(


 
Kerk ©   (2006-08-02 18:13) [18]

[17] vidiv ©   (02.08.06 18:11)
> > Все эти картинки давно научились обходить весьма эффективно
>
> да ну =)))
> Декаративный шрифт + особенность начертания + правильная
> интеграция = hren обойдешь :)

1) Делаешь сайт
2) Закачиваешь тонну порно-фоток
3) Пишешь скрипт, выдирающий картинки с форм постинга разных форумов
4) Заставляешь юзеров их распознавать между просмотрами порнухи
5) Получив значение, постишь спам


 
Marser ©   (2006-08-02 18:19) [19]

> [18] Kerk ©   (02.08.06 18:13)
> [17] vidiv ©   (02.08.06 18:11)
> > > Все эти картинки давно научились обходить весьма эффективно
> >
> > да ну =)))
> > Декаративный шрифт + особенность начертания + правильная
>
> > интеграция = hren обойдешь :)
>
> 1) Делаешь сайт
> 2) Закачиваешь тонну порно-фоток
> 3) Пишешь скрипт, выдирающий картинки с форм постинга разных
> форумов
> 4) Заставляешь юзеров их распознавать между просмотрами
> порнухи
> 5) Получив значение, постишь спам

А разве картинки не генерятся автоматом?


 
vidiv ©   (2006-08-02 18:20) [20]


> 1) Делаешь сайт
> 2) Закачиваешь тонну порно-фоток
> 3) Пишешь скрипт, выдирающий картинки с форм постинга разных
> форумов
> 4) Заставляешь юзеров их распознавать между просмотрами
> порнухи
> 5) Получив значение, постишь спам

это только теория на данный момент?

Во всяком случае в данной борьбе приемущество на стороне веб-программеров, ибо нынешние браузеры много чего поддерживают :)


 
antonn ©   (2006-08-02 19:00) [21]

Vitalik ©   (02.08.06 17:54) [10]
Скажем, "введите пятый цвет радуги". По-моему очень элегантный способ. А как вам?

к своему стыду я задумался:) хороший вопрос, пришлось вспоминать "каждый охотник..."


 
Kerk ©   (2006-08-02 19:31) [22]

Marser ©   (02.08.06 18:19) [19]
А разве картинки не генерятся автоматом?


Эти сгенеренные автоматом картинки юзеры и распознают.

vidiv ©   (02.08.06 18:20) [20]
это только теория на данный момент?


Насколько я знаю, нет


 
atruhin ©   (2006-08-02 19:52) [23]

> это только теория на данный момент?

Один из распространенных алгоритмов


 
VirEx ©   (2006-08-02 20:21) [24]

добавил на свой генерацию кукисов (при заходе на страницу), и проверку кукисов (при добавлении поста) - ..и спама пкачто нет

возможно бот даже не грузит страницу а шлет post запросы сразу на url

может ошибаюсь, но спамеры возможно делают так:
1.
спамер - не бот, лазит по сайтам, либо сканит программкой ищущей через поисковик все странички содержащие слова: guest submit и т.п.
(при этом добавляет в базу данных URL гостевой странички)

2.
настраивает спамера - бота (скрипт, программка), который по таймеру делает post запросы на URL из этой базы

зы. не успел добавить в ветку про харизму, вот: :)
"харизма это человеческое качество, позволяющее концентрировать на себе внимание окружающих и манипулировать им

моё мнение такое"


 
Anatoly Podgoretsky ©   (2006-08-02 20:55) [25]

cyborg ©   (02.08.06 17:25) [3]
Спамерам тоже не нравится :-)


 
Vitalik ©   (2006-08-02 20:55) [26]


> Если я не знаю, какой у радуги пятый цвет, то я пролетаю,
>  так?


Ага, типа того.


 
Marser ©   (2006-08-02 21:04) [27]

> [25] Anatoly Podgoretsky ©   (02.08.06 20:55)
> cyborg ©   (02.08.06 17:25) [3]
> Спамерам тоже не нравится :-)

Это потому, что спамер тоже пользователь :-)


 
vrem   (2006-08-02 21:06) [28]

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


 
cyborg ©   (2006-08-03 06:53) [29]

> [25] Anatoly Podgoretsky ©   (02.08.06 20:55)

У нас ведь цель попить кровь спамеру. Эдакая война, кто у кого крови больше выпет. Думаю, что спамеры пока выигрывают :)
Но сегодня я праздную маленькую победу, спама пока нет :)


 
cyborg ©   (2006-08-03 06:54) [30]

> [29] cyborg ©   (03.08.06 06:53)
> У нас ведь цель попить кровь спамеру

Недоговорил :)
У нас ведь цель попить кровь спамеру, а не пользователю.


 
SPeller ©   (2006-08-03 07:16) [31]

Vitalik ©   (02.08.06 17:54) [10]
введите пятый цвет радуги

А я не знаю :) Меня это поставило бы в тупик. Пришлось бы лезть в яндекс и узнавать. Поэтому нафиг такие общеизвестные вопросы )

Kerk ©   (02.08.06 18:08) [15]
Все эти картинки давно научились обходить весьма эффективно

А если на картинке не просто писать код, а писать кучу кодов, и словами на картинке писать, какой из них нужно выбрать? ;)

cyborg ©   (03.08.06 6:53) [29]
Но сегодня я праздную маленькую победу, спама пока нет :)

Запретить гостям постить - лучшее средство )


 
vitalik ©   (2006-08-03 07:32) [32]


> А я не знаю :) Меня это поставило бы в тупик. Пришлось бы
> лезть в яндекс и узнавать. Поэтому нафиг такие общеизвестные
> вопросы )


А мне нравится эта идея... я пожалуй буду её использовать.
А если человек не знает ответы на вопросы, которые проходят в начальных классах школы... Стоит ли ему вообще давать возможность постить?

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


 
VirEx ©   (2006-08-03 07:45) [33]


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

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


 
vidiv ©   (2006-08-03 09:10) [34]

еще вариант:
Отправьте слово ПОСТ на короткий номер 1234*.
Полученный ответом код введи в поле: [            ].

* Внимание услуга платная. Подробности тут. :)


 
Ketmar ©   (2006-08-03 09:57) [35]

> [28] vrem   (02.08.06 21:06)

на букву "г"? коричневый, что ли?


> [32] vitalik ©   (03.08.06 07:32)


> не знает ответы на вопросы, которые проходят в начальных
> классах школы

неплохая программа Light Alloy регистрируется при помощи ответов на общеизвестные загадки. я её регистрирую при помощи распаковки и подглядывания ответов в .EXE. потому что когда я её ставлю, мне охота не загадки решать, а кино смотреть.


 
atruhin ©   (2006-08-03 10:49) [36]

> я её регистрирую при помощи распаковки и подглядывания ответов
> в .EXE.

Да уж чем только люди не маятся!!!!
Там вроде со 2-3 тыка мышкой можно получить загадку вроде: Висит груша нельзя скушать.


 
Ketmar ©   (2006-08-03 11:10) [37]

> [36] atruhin ©   (03.08.06 10:49)

лично наблюдал, как человек раз 10-15 запускал аллой и офигевал от вопросв. после этого я аллой распаковал и почитал всё, что надо.


 
Kerk ©   (2006-08-03 11:31) [38]

[31] SPeller ©   (03.08.06 07:16)
> А если на картинке не просто писать код, а писать кучу кодов,
> и словами на картинке писать, какой из них нужно выбрать?
> ;)

Алгоритмом, который я описал выше, и такое легко обходится :)


 
Grom PE ©   (2006-08-03 12:44) [39]

Kerk ©   (03.08.06 11:31) [38]

Тогда пояснительные слова к картинке должны быть не на картинке, а рядом, текстом. =)


 
DesWind ©   (2006-08-03 12:48) [40]

LA-болшьше расчитан на незнание русского языка.


 
cyborg ©   (2006-08-14 18:56) [41]

Во до чего спамеры додумались
Предыдущие меры сработали на 100%, спамовых сообщений небыло.

Нашли теперь на форуме лазейку, зарегистрировали форумы 3 штуки, в настройках, в шапке, заполнили свой спам со ссылками на всякие сайты.

Я их естествено удалил.

Сейчас поиск в яндексе делаю по домену, смотрю, на других сайтах (форумах, объявлениях) ссылки на сайт, ведущие на те удалённые форумы. А сообщения содержат примерно такой текст "куплю автомобиль" и и.д.

Вот теперь боюсь как бы мой домен в антиспам списки не попал :(

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


 
tesseract ©   (2006-08-15 14:07) [42]

не моё  но мож кому пригодиться :

Избавится от автоматического поста и не напрягать посетителя с вводом
графического кода позволит следующий алгоритм:

# Антиробот - против автопостов                 #
function antibot($text)
   {
   $text = substr($text, 1, -4);
   $sear = array(""1"i",""2"i",""3"i",""4"i",""5"i",""6"i",""7"i",""8"i",""9"i",""0"i");
   $repl = array("a","b","c","d","e","f","g","h","i","j");
   $text = preg_replace ($sear, $repl, $text);
   return $text;
   }
/*
   // вставляем анти-робоспам
   $antitime = time();
   $antiname = antibot($antitime);
   echo "<input name="".$antiname."" type="hidden" value="".$antitime."">";
   #----------
   // проверяем анти-робоспам
   $ver1time = time();
   $ver2time = time()-"9999";
   $ver1name = antibot($ver1time);
   $ver2name = antibot($ver2time);
   if ((strip_tags($_POST[$ver1name])<$ver1time and strip_tags($_POST[$ver1name])>$ver2time) or
       (strip_tags($_POST[$ver2name])<$ver1time and strip_tags($_POST[$ver2name])>$ver2time))
       {
       $antibot = "1";   // антибот даёт добро на post
       } else {
       $antibot = "-1";   // антибот запрещает этот post
       }
*/

PS: в функции "замена цифры на буквы" обязательно замените a-j на что-нибудь своё.
PPS: Код успешно работает около двух лет на нескольких сайтах.



Страницы: 1 2 вся ветка

Форум: "Прочее";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.58 MB
Время: 0.043 c
3-1151726679
Lis'S
2006-07-01 08:04
2006.09.10
Как работать с DBF - файлами.


2-1155966178
LLL|
2006-08-19 09:42
2006.09.10
TPanel смена цвета


15-1155553934
Furyz
2006-08-14 15:12
2006.09.10
Интересно...


15-1155703959
MASTAFA
2006-08-16 08:52
2006.09.10
Скомпилированный файл справки. Как сделать?


1-1154061576
Константин_
2006-07-28 08:39
2006.09.10
Можно ли запретить перерисовку формы до определенного момента?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский