Anna Опубликовано 4 Мая 2005 Жалоба Поделиться Опубликовано 4 Мая 2005 Вот делаю мод - очень мне лично нужный - это двойная проверка регистрирующихся. Как известно, в 2.0 можно либо организовать проверку емейла пользователем (после чего у него становится полный доступ), либо ручную проверку админом. Данный мод позволяет комбинировать оба способа. Зачем это нужно. Ручная проверка - это актуально в случае повышенной безопасности форума, "закрытого" форума , куда пускают не всех. Однако, довольно тяжело заниматься вручную проверкой пользовательских емейл-адресов, поэтому данный мод актуален. Дополнительно хочу отметить тот факт, что IPB собирается включить данную фичу в свой новый 2.1. Итак. Модификация достаточно простая, состоит из четырех шагов. Шаг 1. SQLДобавить новое поле-флаг в таблицу валидаций, которое будет означать, осуществлена ли проверка мыла юзераALTER TABLE ibf_validating ADD email_ok TINYINT( 1 ) NOT NULL;Примечание: префикс "ibf_" замените на свой, если он у вас отличается от стандартного. Шаг 2. sources/register.phpНайти// REGISTER VALIDATE Чуть ниже найтиif (empty($validate['real_group'])) ВЫШЕ добавить:/* Далее найти:$DB->simple_exec_query( array( 'delete' => 'validating', 'where' => "vid='".$validate['vid']."' OR (member_id={$member['id']} AND new_reg=1)" ) ); НИЖЕ добавить:*/ //force double validation: $DB->query("UPDATE ".SQL_PREFIX."validating SET email_ok='1' WHERE vid='".$validate['vid']."' OR (member_id={$member['id']} AND new_reg=1)"); Далее найти:$std->boink_it($ibforums->base_url.'&act=Login&CODE=autologin&fromreg=1'); ЗАМЕНИТЬ на следующее://$std->boink_it($ibforums->base_url.'&act=Login&CODE=autologin&fromreg=1'); $this->output = "Шаг проверки вашего email адреса завершен. Теперь администратор должен выполнить ручную проверку вашего аккаунта, по окончанию которой вы получите дополнительное уведомление. Пока вы еще не имеете полных прав на доступ, ожидайте ручной проверки.<br /><br /><a href='".$ibforums->base_url."&act=Login&CODE=00'>Вход</a>"; $this->page_title = $ibforums->lang['activation_form']; $this->nav = array( $ibforums->lang['activation_form'] ); Шаг 3. /sources/admin/ad_member.phpНайтиfunction view_mod() Чуть ниже найти:case 'email': $col = 'm.email'; ЗАМЕНИТЬ на:case 'email': //$col = 'm.email'; //double validation: sort by field "is email checked?" $col = 'v.email_ok'; Далее найти:$where = ( $r['lost_pass'] ? 'Lost Password' : ( $r['new_reg'] ? "Registering" : ( $r['email_chg'] ? "Email Change" : 'N/A' ) ) ); НИЖЕ добавить://double validation: mark $email_ok_1=""; $email_ok_2=""; if (!$r['lost_pass']) { if ($r['email_ok'] == 1) { $email_ok_1 = "<b><font style='background-color: green; color: white'>"; $email_ok_2 = "</font><br><font color=green>АДРЕС ПРОВЕРЕН</font></b>"; } else { $email_ok_1 = "<b><font style='background-color: red; color: white'>"; $email_ok_2 = "</font><br><font color=red>АДРЕС НЕ ПРОВЕРЕН</font></b>"; } } Далее найти:$r['email'], ЗАМЕНИТЬ на:$email_ok_1.$r['email'].$email_ok_2, Шаг 4. Войти в админцентрView All General Settings / Security and PrivacyВ настройке "New registration email validation?"установить значение: "User email validation" Все.Теперь пользователю будет уходить письмо активации, после завершения которой, в списке валидации его емейл будет отображаться зеленым (в противном случае - красным). Предложения, исправления и добавления охотно принимаются Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Stalingrad45 Опубликовано 4 Мая 2005 Жалоба Поделиться Опубликовано 4 Мая 2005 У D-2 (Dean) есть уже такой мод. Собственно у меня на форуме он давно ужо стоит. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 4 Мая 2005 Автор Жалоба Поделиться Опубликовано 4 Мая 2005 Рада за вас. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 9 Декабря 2005 Жалоба Поделиться Опубликовано 9 Декабря 2005 AnnaЗначит в этом случае,если пользователь введёт несуществующий емэйл,то не сможет подтвердить регистрацию? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 9 Декабря 2005 Автор Жалоба Поделиться Опубликовано 9 Декабря 2005 Разумеется, если, конечно, он не телепат и не сможет подобрать md5-ный хэш из 32 символов А тебе остается только проверять тех, у кого в админке емейл помечен зеленым маркером. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 9 Декабря 2005 Жалоба Поделиться Опубликовано 9 Декабря 2005 я сделал иначе1. поставил срок активации 3 дня2. написал скрипт, который залезает в почтовик и выдирает оттуда всю инфу из письма и выдает список раз в неделю (все что в списке ответов почтового сервака вызывает подозрение удаляется из очереди активации) 3. существующие пользователи форума тоже подвергаются проверке таким скриптом и если е-майл пользователя перестал работать и об этом говорят уведомления почтовика, то считается число вхождений ошибки .... после 3-го юзера перекидываю в особую группу "безответственных" с уведомлением в ЛС. Если в течение недели +- 1-2 дня никто не побеспокойлся, то удаляю все из базы и дело с концом. В данный момент проверка итогов недели занимает 20-25 минут времени при базе пользователей, которая выросла за год примерно до 3000 участников. Проблема в том, что почтовые ящики при регистрации может быть и работают, но потом имеют свойство меняться и "умирать", а зная халатное отношение среднестатистического пользователя к своему аккаунту и его параметрам, а также его работоспособности, могу предложить пойти дальше и сделать проверку валидации всех пользователей существующих в базе, это конечно создаст большой поток писем при большой БД. Но его можно размазать по времени ... но таким образом будет выявлено некоторое число мертвой почты, которое придется потом фильтровать ... разгребать логи ошибок почтовика тоже занятие не из приятных. Вот если бы его удалось автоматизировать. Вопрос очень актуальный для больших форумов. За идею мода спасибо! Вещь нужная. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 10 Декабря 2005 Жалоба Поделиться Опубликовано 10 Декабря 2005 AnnaА если я подтвержу того,кто выделен красным,то он получит доступ на форум или нет? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 12 Декабря 2005 Жалоба Поделиться Опубликовано 12 Декабря 2005 Благодаря установке мода заметил,что у меня с форума юзером на мыло ничего не шлётся и оказывается уже с начала ноября.В чём может быть проблема? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 16 Декабря 2005 Жалоба Поделиться Опубликовано 16 Декабря 2005 Есть кто живой? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 19 Декабря 2005 Автор Жалоба Поделиться Опубликовано 19 Декабря 2005 (изменено) AnnaА если я подтвержу того,кто выделен красным,то он получит доступ на форум или нет? Конечно получит. Никаких проблем не будет. Благодаря установке мода заметил,что у меня с форума юзером на мыло ничего не шлётся и оказывается уже с начала ноября.В чём может быть проблема? Значит что-то криво поставил. Либо неправильно настроил вот это....Проверь, что у тебя выполнен ШАГ 4 из указаний по установке.: Шаг 4. Войти в админцентр View All General Settings / Security and Privacy В настройке "New registration email validation?" установить значение: "User email validation" Изменено 19 Декабря 2005 пользователем Anna Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 21 Декабря 2005 Жалоба Поделиться Опубликовано 21 Декабря 2005 AnnaДа всё правильно,у меня и старые файлы тоже самое выдают.Просто никому ничего от форума на мыло не приходит.В настройках мэйла стоит отсылка через PHP Mail. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 27 Января 2006 Жалоба Поделиться Опубликовано 27 Января 2006 Недавно перешёл на 2.1.3 и теперь данный мод не работает,все подтверждаются мылом без одобрения админа. Как полностью отменить этот мод? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 27 Января 2006 Автор Жалоба Поделиться Опубликовано 27 Января 2006 Мод находится в файлах, а файлы вы уже заменили, так что мод у вас отсутствует.Тип проверки (емейл или ручная) настраивается в админке в настройках (где это в 2.1 понятия не имею). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 27 Января 2006 Жалоба Поделиться Опубликовано 27 Января 2006 AnnaНу в админке стоит подтверждение Админом,но они без моего разрешения попадают на форум и постят. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Anna Опубликовано 27 Января 2006 Автор Жалоба Поделиться Опубликовано 27 Января 2006 Мой мод не позволяет пользователям попадать на форум без санкции администратора вне зависимости от того, какой вариант валидации установлен - в этом его смысл и именно так он работает. 1. Ситуация, которую вы описываете никоим образом невозможна в версии форума 2.0.х. 2. При обновлении форума с 2.0.х на 2.1.х вы должны быть удалить все старые файлы и залить новые, поэтому мод вы мой удалили сами, при апгрейде.3. Если у вас установлен мой мод под версию 2.1.х, то я не могу предсказать его поведение, т.к. совместимость моего мода - 2.0.х. Поэтому, проблема которую вы описываете, не есть проблема данного мода. Вы должны задавать этот вопрос не в этой теме, а в общих вопросах по 2.1.х. Единственное что я могу вам рекомендовать - это проверить значение соответствующей настройки в базе данных, действительно ли там стоит нужный режим, а так же перезалить все админские файлы и файлы отвечающие за регистрацию пользователей (в 2.1.х., уж извините, я ничего не понимаю и не могу сказать какие именно). Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
war Опубликовано 21 Октября 2006 Жалоба Поделиться Опубликовано 21 Октября 2006 Anna, а вот за этот мод спасибо. Действительно, очень полезная вещь. Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Zuboskal Опубликовано 28 Ноября 2006 Жалоба Поделиться Опубликовано 28 Ноября 2006 А для 2.1.x. такой мод существует? Цитата Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения
Присоединиться к обсуждению
Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.