Jump to content
Sign in to follow this  
gamora95

[Фича] Подтверждение аккаунта по E-Mail

Recommended Posts

Многие пользователи желают сделать у себя на сайте подтверждение аккаунтов по E-Mail адресам, так как на сайте регистрируются много фейк-аккаунтов. Один из пользователей решил эту проблему.

 

Подробная инструкция:

1. Открываем /system/modules/register.php и ищем:

$user_search_pref = $user_name.' '.$user_lastname;

Ниже ставим:

$mains = rand(10000,99999);$podtv = md5(md5($mains));$to = $user_email;$subject = "Подтверждение аккаунта";$message = '<html><head><title>Подтверждение аккаунта</title></head><body><table cellspacing="0" cellpadding="0" border="0" style="width: 674px;height: 226px;font-size: 12px;color: #6d6d6d;font-family: Arial;"><tbody><tr><td style="height: 51px;background: #5989BA;font-size: 23px;padding: 5px 0 0 20px;color:#ffffff;font-weight:700;">cmstools.ru</td></tr><tr><td style="height: 5px;background: #ffffff;"/></tr><tr><td style="padding: 7px 18px 12px 20px;vertical-align: top;height: 100%;background: #f4f4f4;"><span style="font-weight: 700;font-size: 16px;color:#2b2b2b;">Регистрация cmstools.ru</span><br/><span style="float: left;padding: 2px 0 0 2px;"/><span style="padding-top: 12px;float: left;font-size: 12px;clear:both;">Здравствуйте.<br/>Вы, или кто-то другой заполнил регистрационую форму на сайте <a href="http://cmstools.ru/" target="_blank">cmstools</a>, указав при этом Ваш e-mail.<br/><br/>Для подтверждения регистрации используйте эту <a href="http://cmstools.ru/?act=confirm&hid='.$podtv.'" target="_blank">ссылку</a>.<br/><br/>В ином случае - проигнорируйте это сообщение.<br/></span></td></tr><tr><td height="6px" style="background: #ffffff;"/></tr><tr><td height="60px" style="background: #f4f4f4;padding: 1px 18px 0px 20px;font-size: 11px;">Команда<a href="http://cmstools.ru/" target="_blank">cmstools.ru</a></td></tr><tr><td style="height: 1px;background: #ffffff;"/></tr></tbody></table></body></html>';$headers = "Content-type: text/html; charset=windows-1251 \r\n";$headers .= "From: Support Social Engine [email protected]\r\n";$headers .= "Bcc: cmstools.ru\r\n";mail($to, $subject, $message, $headers);

2. В этом же файле ищем:

$db->query("INSERT INTO `".PREFIX."_users` (user_email, user_password, user_name, user_lastname, user_sex, user_day, user_month, user_year, user_country, user_city, user_reg_date, user_lastdate, user_group, user_hid, user_country_city_name, user_search_pref, user_birthday, user_privacy) VALUES ('{$user_email}', '{$md5_pass}', '{$user_name}', '{$user_lastname}', '{$user_sex}', '{$user_day}', '{$user_month}', '{$user_year}', '{$user_country}', '{$user_city}', '{$server_time}', '{$server_time}', '{$user_group}', '{$hid}', '{$user_country_city_name}', '{$user_search_pref}', '{$user_birthday}', 'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||')");

и заменяем на:

$db->query("INSERT INTO `".PREFIX."_users` (user_email, user_password, user_name, user_lastname, user_sex, user_day, user_month, user_year, user_country, user_city, user_reg_date, user_lastdate, user_group, user_hid, user_country_city_name, user_search_pref, user_birthday, user_privacy,podtv,hides) VALUES ('{$user_email}', '{$md5_pass}', '{$user_name}', '{$user_lastname}', '{$user_sex}', '{$user_day}', '{$user_month}', '{$user_year}', '{$user_country}', '{$user_city}', '{$server_time}', '{$server_time}', '{$user_group}', '{$hid}', '{$user_country_city_name}', '{$user_search_pref}', '{$user_birthday}', 'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||','{$podtv}','1')");

3. Теперь делаем запрос в базу данных:

podtv(text)hides(int) 1

4. Открываем файл index.php и после:

include ENGINE_DIR.'/init.php';

Вставляем:

if($_GET['act'] == 'confirm' && isset($_GET['hid'])){$hid = $_GET['hid'];$db->query("UPDATE `".PREFIX."_users` SET hides='0' WHERE podtv='{$hid}'");header('location:/news');}

5. В этом же файле ищем:

$tpl->load_template('main.tpl');

и заменяем на:

if($user_info['hides'] == 1){$tpl->load_template('confirm.tpl');}elseif($user_info['hides'] == 0){$tpl->load_template('main.tpl');}

6. Открываем файл login.php находим:

$user_info = $db->super_query("SELECT user_id, user_email, user_group, user_friends_demands,user_balance, user_pm_num, user_support, user_lastupdate, user_photo, user_msg_type, user_delet, user_ban_date, user_new_mark_photos,user_sex

и добавляем ,podtv,hides так же делаем и со вторым запросом.

7. Загружаем файл confirm.tpl в ваш шаблон.

ОТ лайка не откажусь! 

Edited by gamora95
  • Upvote 1

Share this post


Link to post
Share on other sites

Многие пользователи желают сделать у себя на сайте подтверждение аккаунтов по E-Mail адресам, так как на сайте регистрируются много фейк-аккаунтов. Один из пользователей решил эту проблему.

 

Подробная инструкция:

1. Открываем /system/modules/register.php и ищем:

$user_search_pref = $user_name.' '.$user_lastname;

Ниже ставим:

$mains = rand(10000,99999);$podtv = md5(md5($mains));$to = $user_email;$subject = "Подтверждение аккаунта";$message = '<html><head><title>Подтверждение аккаунта</title></head><body><table cellspacing="0" cellpadding="0" border="0" style="width: 674px;height: 226px;font-size: 12px;color: #6d6d6d;font-family: Arial;"><tbody><tr><td style="height: 51px;background: #5989BA;font-size: 23px;padding: 5px 0 0 20px;color:#ffffff;font-weight:700;">cmstools.ru</td></tr><tr><td style="height: 5px;background: #ffffff;"/></tr><tr><td style="padding: 7px 18px 12px 20px;vertical-align: top;height: 100%;background: #f4f4f4;"><span style="font-weight: 700;font-size: 16px;color:#2b2b2b;">Регистрация cmstools.ru</span><br/><span style="float: left;padding: 2px 0 0 2px;"/><span style="padding-top: 12px;float: left;font-size: 12px;clear:both;">Здравствуйте.<br/>Вы, или кто-то другой заполнил регистрационую форму на сайте <a href="http://cmstools.ru/" target="_blank">cmstools</a>, указав при этом Ваш e-mail.<br/><br/>Для подтверждения регистрации используйте эту <a href="http://cmstools.ru/?act=confirm&hid='.$podtv.'" target="_blank">ссылку</a>.<br/><br/>В ином случае - проигнорируйте это сообщение.<br/></span></td></tr><tr><td height="6px" style="background: #ffffff;"/></tr><tr><td height="60px" style="background: #f4f4f4;padding: 1px 18px 0px 20px;font-size: 11px;">Команда<a href="http://cmstools.ru/" target="_blank">cmstools.ru</a></td></tr><tr><td style="height: 1px;background: #ffffff;"/></tr></tbody></table></body></html>';$headers = "Content-type: text/html; charset=windows-1251 \r\n";$headers .= "From: Support Social Engine [email protected]\r\n";$headers .= "Bcc: cmstools.ru\r\n";mail($to, $subject, $message, $headers);

2. В этом же файле ищем:

$db->query("INSERT INTO `".PREFIX."_users` (user_email, user_password, user_name, user_lastname, user_sex, user_day, user_month, user_year, user_country, user_city, user_reg_date, user_lastdate, user_group, user_hid, user_country_city_name, user_search_pref, user_birthday, user_privacy) VALUES ('{$user_email}', '{$md5_pass}', '{$user_name}', '{$user_lastname}', '{$user_sex}', '{$user_day}', '{$user_month}', '{$user_year}', '{$user_country}', '{$user_city}', '{$server_time}', '{$server_time}', '{$user_group}', '{$hid}', '{$user_country_city_name}', '{$user_search_pref}', '{$user_birthday}', 'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||')");

и заменяем на:

$db->query("INSERT INTO `".PREFIX."_users` (user_email, user_password, user_name, user_lastname, user_sex, user_day, user_month, user_year, user_country, user_city, user_reg_date, user_lastdate, user_group, user_hid, user_country_city_name, user_search_pref, user_birthday, user_privacy,podtv,hides) VALUES ('{$user_email}', '{$md5_pass}', '{$user_name}', '{$user_lastname}', '{$user_sex}', '{$user_day}', '{$user_month}', '{$user_year}', '{$user_country}', '{$user_city}', '{$server_time}', '{$server_time}', '{$user_group}', '{$hid}', '{$user_country_city_name}', '{$user_search_pref}', '{$user_birthday}', 'val_msg|1||val_wall1|1||val_wall2|1||val_wall3|1||val_info|1||','{$podtv}','1')");

3. Теперь делаем запрос в базу данных:

podtv(text)hides(int) 1

4. Открываем файл index.php и после:

include ENGINE_DIR.'/init.php';

Вставляем:

if($_GET['act'] == 'confirm' && isset($_GET['hid'])){$hid = $_GET['hid'];$db->query("UPDATE `".PREFIX."_users` SET hides='0' WHERE podtv='{$hid}'");header('location:/news');}

5. В этом же файле ищем:

$tpl->load_template('main.tpl');

и заменяем на:

if($user_info['hides'] == 1){$tpl->load_template('confirm.tpl');}elseif($user_info['hides'] == 0){$tpl->load_template('main.tpl');}

6. Открываем файл login.php находим:

$user_info = $db->super_query("SELECT user_id, user_email, user_group, user_friends_demands,user_balance, user_pm_num, user_support, user_lastupdate, user_photo, user_msg_type, user_delet, user_ban_date, user_new_mark_photos,user_sex

и добавляем ,podtv,hides так же делаем и со вторым запросом.

7. Загружаем файл confirm.tpl в ваш шаблон.

ОТ лайка не откажусь! 

А где файл confirm.tpl?

Share this post


Link to post
Share on other sites

Привет я ставил этот мод на емайл не приходит сообщение а если решаешься с ящика Яндекса то на почту Яндекс приходит сообщение!

Share this post


Link to post
Share on other sites

Привет я ставил этот мод на емайл не приходит сообщение а если решаешься с ящика Яндекса то на почту Яндекс приходит сообщение!

Они просто фильтруются как спам , чтобы так небыли вроде надо какие-то заголовки передовать

Share this post


Link to post
Share on other sites

Где файл confirm.tpl? Создатель темы, это тема из сайта maintalk. Там тоже нету. 

Share this post


Link to post
Share on other sites

Где файл confirm.tpl? Создатель темы, это тема из сайта maintalk. Там тоже нету. 

Сам создай его. Проблема что-ли?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×