Всем доброго времени суток. Задумался над функцией бана в php,ниасилил. Надеюсь на вашу помощь. Вот пример на icq протоколе,что должна содержать функция: она должна расчитывать время в секундах,когда пришло последнее сообщение и расчитывать время,когда пришло последнее. если промежуток между временами больше трёх секунд,надо присвоить переменной $ban значение 1 и сделать предупреждение,что слишком часто приходят сообщения.Далее присвоить $ban значение 2 и т.п.когда колличество предупреждений привысит 5,добавить в файл bann.txt.Обнулять статистику предупреждений каждые 30 секунд.
PHP: //Грузим из файла параметры юзеров в массив $user[]['ip'] - получаем айпи $user[]['last'] - получаем время последнего сообщения unix timestamp $user[]['warning'] - количество предупреждений (вначале 0) $user[]['banned'] - состояние юзера (вначале False) //по событию нового сообщения получаем $id юзера от кого пришло сообщение и делаем if ($user[$id]['banned'] == False) //Если пользователь не забанен { if (time() - $user[$id]['last'] < 3) //Если время сообщений меньше 3 секунд { $user[$id]['warning']++; //Прибавляем 1 к предупреждениям if ($user[$id]['warning'] > 0) //Если предупреждений больше 0 { //Вывод сообщения а том, что часто приходят сообщения } if ($user[$id]['warning'] > 5) //Если предупреждений больше 5 { //Вывод сообщения о забанивании //Запись в файл } } elseif (time() - $user[$id]['last'] > 30) { //Если время сообщений больше 30 секунд $user[$id]['warning'] = 0; //Обнуляем предупреждения } } else { //Вывод сообщения о том, что юзер забанен } Если ждёшь, что тебе напишут готовый код, то тебе в раздел "Работа"