Fuker Опубликовано 13 Ноября 2008 Жалоба Поделиться Опубликовано 13 Ноября 2008 собственно сабж. Как сделать так? потому что флудеры уже запарили. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 SynDiK Опубликовано 15 Февраля 2010 Жалоба Поделиться Опубликовано 15 Февраля 2010 актуально Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 15 Февраля 2010 Жалоба Поделиться Опубликовано 15 Февраля 2010 Добавить перед отправкой сообщений запрос к таблице постов. Что-то типа:$DB->query("SELECT COUNT(pid) AS cpid FROM ibf_posts WHERE time>".(time()-86400)." AND member_id = ".$ibforums->member['id']);Для 2.х конструкция будет чуть иная, но сам принцип такой.Запрос отдает количество уже отправленных пользователем сообщений за последние 86 400 секунд (1 сутки). Но ИМХО, дерьмо идея. Флуда не станет меньше, клонов станет больше. Оно надо? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 SynDiK Опубликовано 15 Февраля 2010 Жалоба Поделиться Опубликовано 15 Февраля 2010 это нужно для ограничения флуда от конкретного юзера ибо сил больше нет) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 FatCat Опубликовано 16 Февраля 2010 Жалоба Поделиться Опубликовано 16 Февраля 2010 Без ограничения регистраций это приведет не к уменьшению флуда от юзера, а к увеличению количества никнеймов этого юзера.И если надеетесь ограничить регистрации по мейлам или айпишникам, то напрасно: зарегистрировать новый халявный мейл и зайти на страницу регистрации через новый проксишник сейчас умеют даже первоклассники. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
0 SynDiK Опубликовано 18 Февраля 2010 Жалоба Поделиться Опубликовано 18 Февраля 2010 (изменено) помогите это переписать для конкретного юзера с конкретным числом ограничения сообщений в сутки 15, спасибоя так понимаю эту конструкцию надо будет в пост.пхп засунут if ( $flood ) { $this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'message_topics', 'where' => "mt_owner_id={$member_id}", 'order' => 'mt_date DESC', 'limit' => array(0,1) ) ); $this->ipsclass->DB->simple_exec(); $last_pm = $this->ipsclass->DB->fetch_row(); if ( $last_pm['mt_date'] + ($flood * 60) > time() ) { return array('key' => 'error', 'lang' => 'pm_flood', 'extra' => "{$flood}"); } } if ( $limit ) { $time_range = time() - 86400; $this->ipsclass->DB->simple_construct( array( 'select' => 'count(mt_id) as cnt', 'from' => 'message_topics', 'where' => "mt_owner_id={$member_id} AND mt_date > {$time_range}", ) ); $this->ipsclass->DB->simple_exec(); $quota_sent = $this->ipsclass->DB->fetch_row(); if ( $quota_sent['cnt'] + 1 > $limit ) { return array('key' => 'error', 'lang' => 'pm_flood_max', 'extra' => "{$limit}"); } } return FALSE; } Изменено 18 Февраля 2010 пользователем SynDiK Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Вопрос
Fuker
Ссылка на комментарий
Поделиться на других сайтах
5 ответов на этот вопрос
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.