Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Double Account Preventer - ошибка.

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Andrey447
phpBB 1.4.1
Сообщения: 44
Стаж: 13 лет
Благодарил (а): 35 раз

Double Account Preventer - ошибка.

Сообщение Andrey447 »

Здравствуйте.

Версия phpBB: 3.0.8

Установил мод Double Account Preventer, захожу в файл "/dap_install.php", когда нажимаю "Да" выскакивает ошибка базы данных:

Код: Выделить всё

SQL ERROR [ mysql4 ]

Unknown column 'config_name' in 'field list' [1054]

SQL

INSERT INTO phpbb_2dap_config (config_name, config_value) VALUES ('require_ip_check', '0')

BACKTRACE

FILE: includes/db/mysql.php
LINE: 175
CALL: dbal->sql_error()

FILE: dap_install.php
LINE: 79
CALL: dbal_mysql->sql_query()
Скриншот ошибки.

В чем проблема?

Заранее спасибо.
Фанат phpBB 3
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Shredder »

Версия старая, мод заброшен, установочный файл неправильный. Чтобы установить, можешь выполнить вот этот SQL-запрос вручную через phpMyAdmin:
[Удалено]
Как создавать установочные файлы - я пока не знаю, запрос выполняет ту же самую функцию по обновлению БД.

Но мод всё равно работать не будет, т.к. в нём куча багов и недоделок. Я недавно пытался исправить его под себя, вроде основные критичные баги удалось устранить, осталось несколько на первый взгляд не препятствующих работе мода (по крайней мере, бан по Cookie у меня работал). Выкладываю, что получилось:
[Удалено]

Из имеющихся до сих пор багов (те, которые явно заметил):
При первом заходе забаненного по Cookie пользователя на сайт, вверху мелким шрифтом показывается какая-то странная надпись - вот такое вот "сообщение об ошибке":
Clip_3.png
Clip_3.png (1.11 КБ) 474 просмотра
Но на работу самого мода это в итоге никак не влияет.

Другой баг: в админке для бана и разбана пользователя по Cookie - на ссылку бана приходится жать 2 раза, т.к. после первого нажатия почему-то не происходит обновления данных на странице. Для облегчения отображения статуса бана я даже сделал небольшой "мод к моду" и "раскрасил" ссылку для бана: красный цвет надписи "Бан по Cookie" означает, что пользователь в настоящее время забанен, зелёный - разбанен, а просто бесцветный (цвет обычной ссылки) - что в базе для статуса бана этого пользователя нет никаких данных (пустая ячейка в БД). По умолчанию изначально для всех ячейки пустые, а когда нажимаешь бан, то приобретают значение 0 или 1 в зависимости от статуса бана, ну и цвет, соотвественно, меняется. Это оказалось очень удобным для построения кода на основе таких трёх значений (пусто, 0 или 1).

Если бы кто-то взялся до конца доработать, было бы просто отлично.

Редактирование от 22.11.2011:
Старая версия более не актуальна и удалена, продолжение в новой теме:
Double Account Preventer
Последний раз редактировалось Shredder 22.11.2011 10:04, всего редактировалось 1 раз.
Andrey447
phpBB 1.4.1
Сообщения: 44
Стаж: 13 лет
Благодарил (а): 35 раз

Re: Double Account Preventer - ошибка.

Сообщение Andrey447 »

Shredder
плохо, что мод не рабочий... по функциям очень полезный...
Установить все же не получилось нормально.

----

Может есть какой то похожий мод по функциям, и чтобы можно было найти все похожие IP пользователей? например чтобы ввести какой то IP, и чтобы отобразилось все похожие IP, хоть даже и не полные?
Фанат phpBB 3
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Shredder »

Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 17 лет 1 месяц
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2752 раза
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Sheer »

Andrey447 писал(а):и чтобы можно было найти все похожие IP пользователей?
В файле memberlist.php
Найти

Код: Выделить всё

$sql = 'SELECT DISTINCT poster_id FROM ' . POSTS_TABLE . ' WHERE poster_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . " ($ips) AND forum_id IN (0, " . implode(', ', $ip_forums) . ')'; 
Заменить на

Код: Выделить всё

$sql = '(SELECT DISTINCT poster_id FROM ' . POSTS_TABLE . ' WHERE poster_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . " ($ips) AND forum_id IN (0, " . implode(', ', $ip_forums) . ')) UNION (SELECT user_id FROM ' .USERS_TABLE. ' WHERE user_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . ' ('.$ips.'))'; 
Поиск пользователей по IP (в версии поставки поиск производится только среди пользователей, оставивших хоть одно сообщение. Измененный SQL-запрос позволяет найти пользователей, не оставивших ни одного сообщения по IP регистрации). В качестве шаблона использовать *
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение HAMMER663 »

модуль очень хороший. насколько я понял банить может только администратор, а хотелось бы чтобы и модераторы могли.. доступ к админке как-то не хочется давать((
Аватара пользователя
Vova_OB
phpBB 2.0.2
Сообщения: 310
Стаж: 13 лет 9 месяцев
Откуда: Kiev Ukraine
Благодарил (а): 74 раза
Поблагодарили: 8 раз
Контактная информация:

Re: Double Account Preventer

Сообщение Vova_OB »

Double Account Preventer
я так понял этот мод запрещает одновременный вход с одного ПК ?!

1. Если я админ и мне нужно параллельно с других браузеров входить под тестовыми аккаунтами не не выходя с админского аккаунта ?!
2. Такое в этом моде или в других модах аналогах предусмотрено ?
3. Есть моды аналоги?
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Shredder »

Vova_OB
Ничего подобного (по кр. мере автоматически) мод не делает. Он обнаруживает возможные двойные аккаунты, используя 2 метода обнаружения: по IP и по кукам. Тут надо обязательно помнить, что одинаковый IP не всегда и не обязательно = один и тот же компьютер, чтоб не заблокировать случайно невинного человека.
С куками несколько по-другому: при логине (входе под своим ником) в браузер пользователя добавляется уникальная идентификационная кука, поэтому, если пользователь не использует для каждой новой регистрации разные браузеры или не чистит в них куки, здесь в точности выявления можно не сомневаться, и если пользователь задумал создать ещё один акк, то в процессе регистрации мод выявляет ранее установленную им же куку. Когда такая будет обнаружена, то выбранным вами в админке способом придёт уведомление, а в специальный раздел мода ("Список возможных дублей") будет занесена запись о том, что пользователь помечен как дубль. Далее вы можете либо проигнорировать это сообщение, и тогда всё останется как и прежде, как было бы и без мода, либо забанить его по cookie с помощью находящейся там же кнопки. Если забанили по cookie, то при следующем входе под забаненным ником ему в браузер запишется специальная "кука бана", и как только он зайдёт на форум с какого-либо браузера под забаненным ником, с этого момента данный браузер для использования на вашем форуме становится непригодным - ему будет писать "вы забанены... ля-ля-ля" - конкретное сообщение можете установить там же, в настройках мода. Если зайдёт под этим же ником с другого браузера - всё, и тот тоже становится непригодным. Конечно, всё это до тех пор, пока он не очистит куки. Тем не менее, если опять зайти под забаненным ником, то бан по cookie автоматически повторится. Т.е. ник становится как бы "паршивым", заражая каждый раз браузер, который хоть раз будет использован для входа под ним. Ровно до тех пор, пока не разбаните его там же, где ранее банили.

Аналогов я не видел.
Feo
phpBB 1.2.1
Сообщения: 23
Стаж: 16 лет
Благодарил (а): 1 раз

Re: Double Account Preventer - ошибка.

Сообщение Feo »

Shredder, а если нужно поймать 2-3 хулиганов с разных компьютеров, то он позволяет их как-то отличить? То есть кука для клонов каждого компа будет уникальной (отличаться на разных компьютерах/браузерах)? Или просто отметит, что дубль, но не известно чей конкретно?
И настроить режим молчания для пользователя можно только исправляя код? То есть мне нужно знать, что это клон, но не хотелось бы, чтобы пользователь был в курсе моей информированности ;-)

Добавлено спустя 50 минут 6 секунд:
И ещё - если момент регистрации упущен (и уже нареген десяток-другой аккаунтов), то... этот мод уже не будет "метить" куками дубли пользователей? Можно как-то заставить проводить повторную проверку, скажем при авторизации на форуме
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Shredder »

Кука уникальна только в рамках одного браузера на одном компе, но зато для любого IP.
IP уникален в рамках одного компа и любого браузера, если IP не динамический и его намеренно не менять.
Feo писал(а):И настроить режим молчания для пользователя можно только исправляя код? То есть мне нужно знать, что это клон, но не хотелось бы, чтобы пользователь был в курсе моей информированности
Мод помечает пользователя как дубль абсолютно без его ведома. Что с ним далее делать - решаете вы.
Feo писал(а):И ещё - если момент регистрации упущен (и уже нареген десяток-другой аккаунтов), то... этот мод уже не будет "метить" куками дубли пользователей? Можно как-то заставить проводить повторную проверку, скажем при авторизации на форуме
Переделывать мод под авторизацию в дополнение к регистрации.
Feo
phpBB 1.2.1
Сообщения: 23
Стаж: 16 лет
Благодарил (а): 1 раз

Re: Double Account Preventer - ошибка.

Сообщение Feo »

Поставил - а у него что проблемы с кириллическими именами?
Имя пользователя Метод обнаружения Найденные совпадения Прокси Действия
Светик Проверка Cookie ???????? Администрировать, Бан по Cookie
Если имя которое совпало является ссылкой (и определяется нормально), то с кем совпало не является ссылкой и прочитать нет возможности :cry:

Или это проблемы только у меня (и где-то ошибся при установке)?

У кого-нибудь есть идеи как модифицировать мод, чтобы проводить проверку не только при регистрации (скажем при авторизации на форуме или отправке сообщений)
Аватара пользователя
HAMMER663
Former team member
Сообщения: 2032
Стаж: 13 лет 11 месяцев
Откуда: Зеленоград
Благодарил (а): 77 раз
Поблагодарили: 249 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение HAMMER663 »

да, есть такая проблема. надо посмотреть что там с этим можно сделать
Shredder
Former team member
Сообщения: 2217
Стаж: 15 лет 3 месяца
Благодарил (а): 236 раз
Поблагодарили: 561 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Shredder »

Все найденные баги исправлены, продолжение теперь в новой теме: Double Account Preventer
Aleksej2000
phpBB 2.0.4
Сообщения: 434
Стаж: 7 лет 5 месяцев
Благодарил (а): 243 раза
Поблагодарили: 30 раз
Контактная информация:

Re: Double Account Preventer - ошибка.

Сообщение Aleksej2000 »

Sheer писал(а): $sql = '(SELECT DISTINCT poster_id FROM ' . POSTS_TABLE . ' WHERE poster_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . " ($ips) AND forum_id IN (0, " . implode(', ', $ip_forums) . ')) UNION (SELECT user_id FROM ' .USERS_TABLE. ' WHERE user_ip ' . ((strpos($ips, '%') !== false) ? 'LIKE' : 'IN') . ' ('.$ips.'))';
Sheer, Спасибо, сделал, сразу всех с одного айпи отловил. Можно как-то сделать, чтобы их сразу все пометить одним пучком и предположим, определить в определенную группу? Не хватает графы с галочками :) и с выбором действий
Вложения
клоны.png
Мой форум по рыбоводству http://rybovodstvo.com/forum
Закрыто

Вернуться в «Поддержка модов для phpBB 3.0.x»