×
Твой новый блог на Ruby on Rails (25 дек 2020)

Не жумлой единой, как говорится. Подключайтесь. :)

Вопрос Непонятные пользователи на сайте

Больше
8 года 9 мес. назад #11 от Unior82
Спасибо сказали: Sergey84

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 9 мес. назад #12 от Sergey84
все спасибо за наводку.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 9 мес. назад - 8 года 9 мес. назад #13 от Aleksej
К слову, существует небольшой хак для J2.5, позволяющий в модуле Whosonline вывести реальные имена присутствующих на сайте мемберов, вместо по-дефолту их ников.

В файле

modules\mod_whosonline\helper.php

Находим следующий участок кода:

// show online member names
 static function getOnlineUserNames($params) {
 $db = JFactory::getDbo();
 $query = $db->getQuery(true);
 $query->select('a.username, a.time, a.userid, a.usertype, a.client_id');
 $query->from('#__session AS a');
 $query->where('a.userid != 0');
 $query->where('a.client_id = 0');
 $query->group('a.userid');
 $user = JFactory::getUser();
 if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1)
 {
 $groups = $user->getAuthorisedGroups();
 if (empty($groups))
 {
 return array();
 }
 $query->leftJoin('#__user_usergroup_map AS m ON m.user_id = a.userid');
 $query->leftJoin('#__usergroups AS ug ON ug.id = m.group_id');
 $query->where('ug.id in (' . implode(',', $groups) . ')');
 $query->where('ug.id <> 1');
 }
 $db->setQuery($query);
 return (array) $db->loadObjectList();
 }
}

, который заменяем на этот:

static function getOnlineUserNames($params) {
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('u.name, u.id, a.username, a.userid');
$query->from('#__users AS u');
$query->innerjoin('#__session AS a ON u.id = a.userid');
$query->where('a.userid != 0');
$query->where('a.client_id = 0');
$user = JFactory::getUser();
if (!$user->authorise('core.admin') && $params->get('filter_groups', 0) == 1)
{
$groups = $user->getAuthorisedGroups();
if (empty($groups))
{
return array();
}
$query->leftJoin('#__user_usergroup_map AS m ON m.user_id = a.userid');
$query->leftJoin('#__usergroups AS ug ON ug.id = m.group_id');
$query->where('ug.id in (' . implode(',', $groups) . ')');
$query->where('ug.id <> 1');
}
$db->setQuery($query);
return (array) $db->loadObjectList();
}
}

; далее в

modules\mod_whosonline\tmpl\default.php

следующую строчку кода:

<?php echo $name->username; ?>

меняем на эту:

<?php echo $name->name; ?>


Проверено, работает. Возможно, кому-то пригодится.
Последнее редактирование: 8 года 9 мес. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #14 от Aleksej

все спасибо за наводку.


Не уверен, что вполне в тему, геолокация по ip и статистика - не одно и то же... Но, если появится интерес - вполне можно поэкспериментировать с интересным скриптом, отображающим ip пользователя сайта - визуально, на карте Google. Подробности и демка по ссылке .

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 8 мес. назад #15 от russian_today
russian_today ответил в теме Непонятные пользователи на сайте

кто они? может быть кто-то сталкивался с такими?


Добро пожаловать в Глобальную сеть - мир умных спам-ботов.


Заметил такую вещь. Если запретить для пользователей прокси-сервера - количество таких палевых бот-регистраций резко снижается. Рекомендую попробовать. Это умееет RSFirewall или на продвинутых хостингах через админку можно запретить.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 6 мес. назад #16 от Sergey84
Обнаружил такую фигню - у меня спаммеры спамят только в комментариях К2, обходя reCaptcha (каким-то образом). Причем адрес электронки заканчивается у них на @aol.com. Как для всех запретить оставлять комменты с этого адреса? Вернее адресов много, а вот @aol.com один.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 6 мес. назад #17 от serge

у меня спаммеры спамят только в комментариях К2, обходя reCaptcha (каким-то образом). Причем адрес электронки заканчивается у них на @aol.com. Как для всех запретить оставлять комменты с этого адреса?


ответ - впрямую по этому критерию никак не запретить.
только если включить премодерирование комментариев (эта опция есть в настройках K2).
самый лучший антиспам, Akismet, не работает пока что для K2. По ссылке вы можете видеть ряд расширений joomla, но K2 среди них нету.
:(

А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 6 мес. назад #18 от Sergey84
блииин :( Жаль, очень жаль. А то придолбалось лазить по нескольку раз на дню в адинку джумлы и удалять спеммерные сообщения

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 6 мес. назад - 8 года 6 мес. назад #19 от Aleksej
Существует плагин Akismet как раз для вашей J1.5, Сергей. Правда, никогда его не пробовал. Страница проекта здесь . Попробуйте на каком-нибудь тестовом web-сайте, если есть желание... отпишетесь потом, что и как... по личному опыту могу сказать, что блог WordPress, с установленным Akismet (а Akismet внешне себя никак не проявляет, там никаких каптч, ничего) - на 100% свободен от спама. Это действительно крутая весчь.

Как получить бесплатный api key для Akismet

P.S. Но вот будет ли оно работать в K2 - no comment... без понятия совершенно. Не гарантирую даже, что в J1.5 работает. Самоделка.
Последнее редактирование: 8 года 6 мес. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
8 года 6 мес. назад #20 от Sergey84
че-то я к ним на сайт попасть не могу. Грузит страницу и выкидывает потом. Попробую попозже еще раз.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум