Double Account Preventer
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
).
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды
Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Double Account Preventer
А что такое "CLONE+"?
Нужно, чтобы только клон по cookie там выводился? Или вообще все клоны? Потому что выявленные по IP - не факт, что клоны, скорее наоборот, и их иногда бывает довольно много, минипрофиль может распухнуть.
Ссылка на профиль клона нужна или просто текст?
Нужно, чтобы только клон по cookie там выводился? Или вообще все клоны? Потому что выявленные по IP - не факт, что клоны, скорее наоборот, и их иногда бывает довольно много, минипрофиль может распухнуть.
Ссылка на профиль клона нужна или просто текст?
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Double Account Preventer
- Clone - это просто условное обозначение, что это клон. На том ресурсе выводится не только имя клона, а ещё и другие вещи, потому это просто что-то вроде подзаголовка, поясняющего, что ниже будут именно имена клона. Это не нужно.
- Лучше конечно по куки, ай-пи не надёжны.
- Лучше ссылку на профиль, но если это проблематично, то хотя бы просто текст.
- Лучше конечно по куки, ай-пи не надёжны.
- Лучше ссылку на профиль, но если это проблематично, то хотя бы просто текст.
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Double Account Preventer
viewtopic.php
Найти:
Добавить после:
Найти:
Добавить после:
Найти:
Добавить после:
Найти:
Добавить после:
На примере стиля prosilver:
Шаблон viewtopic_body.html:
Найти:
Добавить после:
Найти:
Код: Выделить всё
$bbcode_bitfield = $bbcode_bitfield | base64_decode($row['user_sig_bbcode_bitfield']);
}Код: Выделить всё
if (!empty($row['c_common_names']))
{
$c_item = explode('|', $row['c_common_names']);
$c_item[0] = (isset($c_item[0])) ? $c_item[0] : '';
$c_item[1] = (isset($c_item[1])) ? base64_decode($c_item[1]) : '';
$user_clone = (!empty($c_item[0]) && $auth->acl_get('u_viewprofile')) ? '<a href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $c_item[0], true) . '">' . $c_item[1] . '</a>' : $c_item[1];
}
else
{
$user_clone = '';
}Код: Выделить всё
'from' => '',Код: Выделить всё
'clone' => '',Код: Выделить всё
'from' => (!empty($row['user_from'])) ? $row['user_from'] : '',Код: Выделить всё
'clone' => $user_clone,Код: Выделить всё
'POSTER_ID' => $poster_id,Код: Выделить всё
'POSTER_CLONE' => ($auth->acl_get('a_') || $auth->acl_get('m_', $forum_id)) ? $user_cache[$poster_id]['clone'] : '',Шаблон viewtopic_body.html:
Найти:
Код: Выделить всё
<!-- IF not postrow.U_POST_AUTHOR --><strong>{postrow.POST_AUTHOR_FULL}</strong><!-- ELSE -->{postrow.POST_AUTHOR_FULL}<!-- ENDIF -->Код: Выделить всё
<!-- IF postrow.POSTER_CLONE --><br /><strong style="text-decoration: line-through;">{postrow.POSTER_CLONE}</strong><!-- ENDIF -->-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Double Account Preventer
Благодарю, отлично работает.
Есть некоторый глюк, не пойму, это сюда или в другую тему. Я так понял, что основным ником считается тот, который зареган раньше, позже зареганые считаются клонами. Так вот вижу, что под ником одного из юзеров высвечивает аккаунт, который действительно зареган раньше, но который уже давно удалён (и при нажатии на него так и показывает, что пользователя не существует). Синхронизация сообщений не помогает. Как это убрать и откуда вообще взялись следы этого удалённого аккаунта?
Есть некоторый глюк, не пойму, это сюда или в другую тему. Я так понял, что основным ником считается тот, который зареган раньше, позже зареганые считаются клонами. Так вот вижу, что под ником одного из юзеров высвечивает аккаунт, который действительно зареган раньше, но который уже давно удалён (и при нажатии на него так и показывает, что пользователя не существует). Синхронизация сообщений не помогает. Как это убрать и откуда вообще взялись следы этого удалённого аккаунта?
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Double Account Preventer
Да. Так же, как и в основном моде.Booker писал(а):Я так понял, что основным ником считается тот, который зареган раньше, позже зареганые считаются клонами.
Когда бывает удалён клон, то в данных основного пользователя информация о нём сохраняется.Booker писал(а):Так вот вижу, что под ником одного из юзеров высвечивает аккаунт, который действительно зареган раньше, но который уже давно удалён (и при нажатии на него так и показывает, что пользователя не существует). Синхронизация сообщений не помогает. Как это убрать и откуда вообще взялись следы этого удалённого аккаунта?
Можно ввести дополнительную проверку в виде SQL-запроса, чтобы удалённый аккаунт отображался простым текстом, а не ссылкой, как это сделано в основном моде (как вариант - чтобы удалённый клон вообще не отображался):
строчку
Код: Выделить всё
$user_clone = (!empty($c_item[0]) && $auth->acl_get('u_viewprofile')) ? '<a href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $c_item[0], true) . '">' . $c_item[1] . '</a>' : $c_item[1];Код: Выделить всё
if (!empty($c_item[0]))
{
$c_sql = 'SELECT user_id
FROM ' . USERS_TABLE . '
WHERE user_id = ' . (int) $c_item[0];
$c_result = $db->sql_query($c_sql);
$c_id = $db->sql_fetchfield('user_id');
$db->sql_freeresult($c_result);
}
$user_clone = (isset($c_id) && $c_id && !empty($c_item[0]) && $auth->acl_get('u_viewprofile')) ? '<a href="' . append_sid("{$phpbb_root_path}memberlist.$phpEx", 'mode=viewprofile&u=' . $c_item[0], true) . '">' . $c_item[1] . '</a>' : $c_item[1];$c_item[1] в самом конце заменить на ''Либо сделать где-то "кнопку" на стирание информации о клоне из данных пользователя.
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Double Account Preventer
Запрос будет посылаться всякий раз, когда открывается пост такого пользователя с удалённым вторым аккаунтом? Если да, то не даст ли это большую нагрузку?
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Double Account Preventer
Здесь однозначно ответить не получится. Лучший способ - установить и проверить. Если что-то будет не так, то всегда можно переключиться на другой вариант. А то помню, что делал человеку один мод, и написал ему, что мод будет давать нагрузку, а оказалось, что всё в порядке - он потом писал, что ничего подобного не заметно.Booker писал(а):Если да, то не даст ли это большую нагрузку?
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Double Account Preventer
Понял. Благодарю, по нагрузке отпишусь позднее, возможно кому-то это поможет.
-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Double Account Preventer
Ещё вопрос. Можно ли отключить такой показ клонов, созданных одним конкретным юзером? В смысле чтобы для модераторов не отображались под ником клоны, созданные админами.
В основном моде отключается вроде только показ подозрительных входов.
В основном моде отключается вроде только показ подозрительных входов.
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Double Account Preventer
Можно перечислить id пользователей, для которых не нужно отображать информацию под ником:
$poster_id != id_админа_#1 && $poster_id != id_админа_#2 и т.д. На примере пользователей с id 2 и 3:
Код: Выделить всё
'POSTER_CLONE' => ($poster_id != 2 && $poster_id != 3 && ($auth->acl_get('a_') || $auth->acl_get('m_', $forum_id))) ? $user_cache[$poster_id]['clone'] : '',-
Booker
- phpBB 2.0.7a
- Сообщения: 627
- Стаж: 15 лет 3 месяца
- Благодарил (а): 165 раз
- Поблагодарили: 21 раз
Re: Double Account Preventer
Отписываюсь по нагрузке.
За неделю после установки ничего необычного не замечено - уровень нагрузки примерно на том же уровне, что и до этого.
За неделю после установки ничего необычного не замечено - уровень нагрузки примерно на том же уровне, что и до этого.
Хотя наверное это таки лучший вариант.Shredder писал(а): Либо сделать где-то "кнопку" на стирание информации о клоне из данных пользователя.
-
drugold
- phpBB 1.4.2
- Сообщения: 72
- Стаж: 16 лет 2 месяца
- Откуда: СССР
- Благодарил (а): 6 раз
- Поблагодарили: 8 раз
Re: Double Account Preventer
Версия мода 1.0.12. В Логе ошибок после установки (некоторые пользователи жалуются на невозможность залогиниться):
При этом установщик сообщает, что установка прошла успешно:
Код: Выделить всё
Произошла общая ошибка:
» SQL ERROR [ mysqli ]
Table '3do_phpbb.phpbb_dap_log_excludes' doesn't exist [1146]
An sql error occurred while fetching this page. Please contact an administrator if this problem persists.
BACKTRACE
FILE: (not given by php)
LINE: (not given by php)
CALL: msg_handler()
FILE: [ROOT]/includes/db/dbal.php
LINE: 757
CALL: trigger_error()
FILE: [ROOT]/includes/db/mysqli.php
LINE: 189
CALL: dbal->sql_error()
FILE: [ROOT]/includes/functions_dap.php
LINE: 140
CALL: dbal_mysqli->sql_query()
FILE: [ROOT]/includes/session.php
LINE: 1217
CALL: dap->cookie_tracking()
FILE: [ROOT]/includes/session.php
LINE: 689
CALL: session->check_ban()
FILE: [ROOT]/includes/session.php
LINE: 508
CALL: session->session_create()
FILE: [ROOT]/viewtopic.php
LINE: 25
CALL: session->session_begin()
Скрытый текст
Код: Выделить всё
Double Account Preventer - Успешно
Тип базы данных :: mysqli
Новые версии мода и поддержку вы можете найти на странице мода на сайте автора.
Успешно
Добавление новой переменной конфигурации: dap_ip_check
Успешно
Добавление новой переменной конфигурации: dap_cookie_check
Успешно
Добавление новой переменной конфигурации: dap_post_forum_id
Успешно
Добавление новой переменной конфигурации: dap_email_notification
Успешно
Добавление новой переменной конфигурации: dap_pm_notification
Успешно
Добавление новой переменной конфигурации: dap_post_notification
Успешно
Добавление новой переменной конфигурации: dap_alert_user_id
Успешно
Добавление новой переменной конфигурации: dap_cookie_ban
Успешно
Добавление новой переменной конфигурации: dap_cookie_autoban
Успешно
Добавление новой переменной конфигурации: dap_cookie_ban_message
Успешно
Добавление новой переменной конфигурации: dap_cookie_reg_deny
Успешно
Добавление новой переменной конфигурации: dap_reg_deny_message
Успешно
Добавление новой переменной конфигурации: dap_users_per_page
Успешно
Добавление нового поля user_double в таблицу phpbb_users
Успешно
Добавление нового поля user_banned_cookie в таблицу phpbb_users
Успешно
Добавление нового поля ip_common_names в таблицу phpbb_users
Успешно
Добавление нового поля c_common_names в таблицу phpbb_users
Успешно
Добавление acp модуля: Double Account Preventer
Успешно
Добавление acp модуля: Настройки Double Account Preventer
Успешно
Добавление acp модуля: Список возможных клонов
Успешно
Добавление acp модуля: Лог подозрительных входов
Успешно
Добавление acp модуля: Бан по Cookie
Успешно
Добавление новой переменной конфигурации: dap_log_excluded
Успешно
Удаление переменной конфигурации: dap_log_excluded
Успешно
Добавление новой таблицы: phpbb_dap_log_excludes
Успешно
Неизвестно
Успешно
Добавление новой переменной конфигурации: dap_ignore_inactive
Успешно
Добавление новой переменной конфигурации: dap_quick_deletion
Успешно
Добавлено новое право доступа: a_cleardupe
Успешно
Добавление новой переменной конфигурации: dap_user_notes_entry
Успешно
Неизвестно
Успешно
Удаление переменной конфигурации: dap_post_notification
Успешно
Очистка кеша конференции
Успешно
Добавление новой переменной конфигурации: dap_version
УспешноVDS: OpenVZ [Intel(R) Xeon(R) CPU E5645 @ 2.40GHz 1596.000 Mhz X 4 / 4096 MB / 120 GB]
HTTPd: Apache/2.2.22 (Debian)
PHP: 5.4.4-14+deb7u12
MySQL(i): 5.5.33-0+wheezy1
---
Основной: phpBB 3.0.14
Тестовый: phpBB 3.1.8
HTTPd: Apache/2.2.22 (Debian)
PHP: 5.4.4-14+deb7u12
MySQL(i): 5.5.33-0+wheezy1
---
Основной: phpBB 3.0.14
Тестовый: phpBB 3.1.8
Ошибка при регистрации
Поставил модуль http://www.phpbbguru.net/community/topic35024.html для защиты от мультиводства теперь при регистрации вываливается ошибка
Duplicate entry 'указанное имя при регистрации' for key 'username_clean' [1062]
Что может быть и как исправить?
Duplicate entry 'указанное имя при регистрации' for key 'username_clean' [1062]
Что может быть и как исправить?
Re: Double Account Preventer
При регистрации выдаёт ошибку
Код: Выделить всё
SQL ERROR [ mysqli ] Duplicate entry 'sergi555' for key 'username_clean' [1062]
Последний раз редактировалось Sheer 07.12.2014 11:02, всего редактировалось 1 раз.
Причина: bb-код
Причина: bb-код
-
Shredder
- Former team member
- Сообщения: 2266
- Стаж: 17 лет 9 месяцев
- Благодарил (а): 283 раза
- Поблагодарили: 584 раза
Re: Double Account Preventer
AnteFil
При установке ты добавил кусок кода для includes/ucp/ucp_register.php вместо замены, которая положена по инструкции. Я прав?
При установке ты добавил кусок кода для includes/ucp/ucp_register.php вместо замены, которая положена по инструкции. Я прав?

