FatCat Опубликовано 25 Мая 2010 Жалоба Поделиться Опубликовано 25 Мая 2010 Есть проблема у всех версий ИПБ:Боты парсеры контента ходят без куков и режут сессию в адресной строке так же, как это делают поисковые боты. Но в отличие от поисковых ботов, гости учитываются не по юзерагенту, а по айдишнику сессии. Поэтому происходит "размножение" гостей:Рутовый админ видит множество гостей с одинаковым айпишником;В статистике форума за последние 15 минут получается запредельно большое число гостей.Побороть это удалось достаточно просто.Рабочий код моей 1.3:Найти: function create_guest_session() { global $DB, $INFO, $std, $ibforums; // Здесь много кода самой функции. }и привести к виду: function create_guest_session() { global $DB, $INFO, $std, $ibforums; $DB->query("SELECT id, ip_address, running_time FROM ibf_sessions WHERE ip_address='".$this->ip_address."' AND member_name = ''"); if ( $DB->get_num_rows() ) { $result = $DB->fetch_row(); $this->session_id = $result['id']; $this->last_click = $result['running_time']; $this->update_guest_session(); } else { // Здесь много кода самой функции. } } Две выгоды такого решения:У меня реальная статистика посетителей, а не "дутые" цифры;Появилась возможность вести статистику нагрузки, создаваемой гостем (другой мой мод), и автоматически ботов-банить парсеров (ворователей контента) по "нечеловеческому" ритму листания страниц. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
fishcka Опубликовано 25 Мая 2010 Жалоба Поделиться Опубликовано 25 Мая 2010 сорри, я ни разу не программист, знаю только что код 2.3 отличается от 1.хвопрос - будет ли работать на 2.3 если я просто скопирую себе Ваш код? :о)) ага, и не написано где именно искать :о) Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 25 Мая 2010 Автор Жалоба Поделиться Опубликовано 25 Мая 2010 На 2.х и 3.х синтаксис другой; простым копированием не получится. Сама идея очень проста: перед созданием новой гостевой сессии делается проверка, нет ли уже гостевых сессий с этого айпишника. Если есть такая сессия - не создаем новую, а апдейтим имеющуюся; если нет такой сессии - лишь тогда создаём новую. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 25 Мая 2010 Жалоба Поделиться Опубликовано 25 Мая 2010 ну это же плохо для недопровайдеров, у которых безлимитный интернет для всех с одного ипили не плохо? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
FatCat Опубликовано 25 Мая 2010 Автор Жалоба Поделиться Опубликовано 25 Мая 2010 А чего плохого? Даже если 2 разных гостя оказались с одного айпишника и попали в одну сессию - и что? Права-то у гостей одинаковые. А в сессиях мемберов мы по айпишнику не апдейтим... Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.