Xwab
Форумыnavigate_nextПрограммирование на PHP

Антифлуд
Сообщения
КоТ

В чате реально создать антифлуд? если да то как? и што для етого нужно?

21 Май 2010, 5:17
=VIP=

kompam_net,
1)да
2)нужно знать php

21 Май 2010, 5:22
M0rbid

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

21 Май 2010, 5:24
КоТ

M0rbid, Неподскажете где можно качнуть скрипт любого чата штоб там был антифлуд..Мне нужно глянуть а пример его работы. Нужны колонки в мускуле в тлице усерс етош должно быть? таймер от написания постов. Ну и сам упдате с комнаты Мнеб глянуть эх может ктото даст адрес к скрипту такого чата? мне ток глянуть и фсё...

21 Май 2010, 5:35
КоТ

=VIP=, та знаю я кое што..Не в этом дело, просто пользователи оч просят антифлуд я просто непойму как его вмудрить? Ну идея с интервалом времени после последнего поста мне понравилась

21 Май 2010, 5:36
kos

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

21 Май 2010, 6:01
IceJOKER

http://xwab.mobi/forum/viewtopic.php?t=704 , вот оттуда вырежь

21 Май 2010, 6:36
web-master

я придумал вот такую вот функцию, вроде работает
/////////// функция антифлуда ////////////
function anti_flood()
{
global $ip;
global $set_antispam;
$time_lim=$set_antispam;
$time_this=time();
// если юзера нет в списке записываем его
$sql_f=mysql_query("SELECT * FROM ban_flood WHERE id_user='".$_SESSION['id']."' or ip='".$ip."'");
if(mysql_num_rows($sql_f)==0)
{
mysql_query("INSERT INTO ban_flood SET
id_user='".$_SESSION['id']."',
ip='".$ip."',
time='".$time_this."'");
}
else // иначе проверяем его данные
{
$data_f=mysql_fetch_array($sql_f);
$diff=$time_this-$data_f['time'];
if($diff<$time_lim)
{
$flood=TRUE;
}
## обновляем время
mysql_query("UPDATE ban_flood SET
id_user='".$_SESSION['id']."',
ip='".$ip."',
time='".$time_this."'");
}
return $flood;
}
//////////////////////////////////////////

21 Май 2010, 9:56
Destroy

web-master, бред

21 Май 2010, 9:59
web-master

Destroy, почему??

21 Май 2010, 10:00
Ответить на тему