Мы в твиттере Мы в телеграме!

Провеббер » DataLife Engine » DLE хаки » Единая регистрация с DLE 9.* + IP.Board 3.1.*

Набор в команду! Ведется набор в команду, для наполнения сайта новым, интересным контентом. Если у тебя есть предложения, свободное время, ты обладаешь интересным контентом, и хочешь поделиться с другими?
Обращайся к нам в ЛС группы Вконтакте.

Единая регистрация с DLE 9.* + IP.Board 3.1.*

Данный материал предоставлен сайтом ProWebber.cc исключительно в ознакомительных целях. Администрация не несет ответственности за его содержимое.
Скачать бесплатно Единая регистрация с DLE 9.* + IP.Board 3.1.*.

Единая регистрация с DLE 9.* + IP.Board 3.1.*Единая регистрация с DLE 9.* + IP.Board 3.1.*


Буквально час назад наткнулся на внешнюю авторизацию IPB с DLE , но всё это чушь.
Нашёл статью интеграции с 8.0 и 2.3.6 , пришлось переделать для 9.x + IPB 3.1.X

Автор: неизвестный
Адаптация под новую версию: Herurg
Данный хук работает только с DLE 9.x + IP.Board 3.1.x (протестировано)

Открываем:
dle/engine/modules/reg[code]

Ищем:
require_once ENGINE_DIR . '/classes/parse.class.php';

Добавить ниже:
$ipb_dle_lan[0] = "Данное имя уже используется на форуме.";
    $db_ipb_user = "пользователь";
    $db_ipb_password = "пароль";
    $db_ipb_namedb = "имя_базы";
    $db_ipb_local = "localhost";
    $db_ipb_error = 1; // 1 - показывать ошибки в соединении с бд форума, 0 - нет
    $db_prefix_ipb = "префикс_если_его_нету_оставить_пустым";
$ipb = new db;
$ipb->connect($db_ipb_user, $db_ipb_password, $db_ipb_namedb, $db_ipb_local, $db_ipb_error);

Найти:
global $lang, $db, $banned_info, $relates_word;

Заменить на:
global $lang, $db, $banned_info, $relates_word, $ipb, $ipb_dle_lan, $db_prefix_ipb;

Найти:
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . USERPREFIX . "_users WHERE email = '$email' OR LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'" );

Добавить ниже:
$ipb_test_name = $ipb->super_query ("SELECT COUNT(*) as count FROM {$db_prefix_ipb}members where name = '".strtolower($name)."'");
        if ($ipb_test_name ['count'] > 0) $stop .= $ipb_dle_lan[0];

Найти:
$db->query( "INSERT INTO " . USERPREFIX . "_users (name, password, email, reg_date, lastdate, user_group, info, signature, favorites, xfields, logged_ip) VALUES ('$name', '$regpassword', '$email', '$add_time', '$add_time', '" . $config['reg_group'] . "', '', '', '', '', '" . $_IP . "')" );

Добавить ниже:
            $ipb_dle = new ipb_dle;
            $salt = $ipb_dle->generate_password_salt(5);
            $salt = addslashes($salt);
            $ph = $ipb_dle->generate_compiled_passhash($salt, md5($_POST['password1']) );
            $insert_ipb = $ipb->insert_id(); //ид вставки
            $member_key = $ipb_dle->generate_auto_log_in_key();
            $key_expire = $member_key * 60 * 60 * 24;
            $ipb->query("INSERT INTO `{$db_prefix_ipb}members` (
            member_id,
            name,
            members_l_username,
            members_display_name,
            members_l_display_name,
            members_seo_name,
            member_login_key,
            member_login_key_expire,
            email,
            member_group_id,
            joined,
            ip_address,
            time_offset,
            allow_admin_mails,
            language,
            msg_show_notification,
            members_auto_dst,
            members_pass_hash,
            members_pass_salt
            )
            VALUES (
            0,
            '$name',
            '".strtolower($name)."',
            '$name',
            '".strtolower($name)."',
            '".strtolower($name)."',
            '".$ipb_dle->generate_auto_log_in_key()."',
            '$key_expire',
            '$email',
            '3',
            '".time()."',
            '$_IP',
            '3',
            '1',
            '1',
            '1',
            '0',
            '$ph',
            '$salt'
            )");
            $ipb_st = $ipb->super_query("select * from {$db_prefix_ipb}cache_store where cs_key = 'stats'");
            $st_arr  = unserialize($ipb_st['cs_value']);
            $st_arr['mem_count']++;
            $st_arr['last_mem_name'] = $name;
            $st_arr['last_mem_id'] = $insert_ipb;
            $st_arr2 = serialize($st_arr);
            $ipb->query("UPDATE {$db_prefix_ipb}cache_store set cs_value = '$st_arr2' where cs_key = 'stats'");

Найти:
?>

Вставить выше:
class ipb_dle
{
    function generate_password_salt($len=5)
    {
        $salt = '';

        for ( $i = 0; $i < $len; $i++ )
        {
            $num   = rand(33, 126);

            if ( $num == '92' )
            {
                $num = 93;
            }

            $salt .= chr( $num );
        }

        return $salt;
    }

    function generate_compiled_passhash($salt, $md5_once_password)
    {
        return md5( md5( $salt ) . $md5_once_password );
    }

        function generate_auto_log_in_key($len=60)
    {
        $pass = $this->generate_password_salt( $len );

        return md5($pass);
    }

}


Открываем:
dle/engine/ajax/registration.php

Найти:
$db->query ("SELECT name FROM " . USERPREFIX . "_users WHERE LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'");

        if ($db->num_rows() > 0)
        {
            $stop .= $lang['reg_err_20'];
        }

Добавить ниже:
        
        $ipb_dle_lan[0] = "Данное имя уже используется на форуме.";
        $db_ipb_user = "пользователь";
        $db_ipb_password = "пароль";
        $db_ipb_namedb = "имя_базы";
        $db_ipb_local = "localhost";
        $db_ipb_error = 1; // 1 - показывать ошибки в соединении с бд форума, 0 - нет
        $db_prefix_ipb = "префикс_если_его_нету_оставить_пустым";
        $ipb = new db;
        $ipb->connect($db_ipb_user, $db_ipb_password, $db_ipb_namedb, $db_ipb_local, $db_ipb_error);
        $ipb_test_name = $ipb->super_query ("SELECT COUNT(*) as count FROM {$db_prefix_ipb}members where name = '".strtolower($name)."'");
        if ($ipb_test_name ['count'] > 0) $stop .= $ipb_dle_lan[0];



Данный хак протестирован , работает единая регистрация только в одну сторону: Регистрируясь на сайте DLE вы автоматически регистрируетесь на форуме IP.Board


Дополнительные ссылки на скачивание ТОЛЬКО для зарегистрированных


0
Просмотры: 8 989 :: Комментарии (71) :: :: Нужна помощь? Задайте вопрос на форуме ::
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

#21affmen

  • 16 мая 2011 10:37
  • Регистрация: 30.03.2011
  • Был(а) онлайн: 14.08.2011
  • Комментариев: 1
  • 0
The Error returned was:
Access denied for user 'ïîëüçîâà '@'localhost' (using password: YES)

Error Number:
1

???

#22I.Vladislav.D

  • 16 мая 2011 11:35
  • Регистрация: 17.02.2011
  • Был(а) онлайн: 31.05.2011
  • Комментариев: 4
  • 0
А как сделать , чтобы первое предложение насчет того , что такой ник уже зарегин на сайте , было на первой строчке т.е. там где и стоит , а второе где насчет того , что такой ник зарегин на форуме писалось ниже т.е. вот так типо:
Этот ник уже зарегин на сайте
Этот ник уже зарегин на форуме

Вот скриншот:

--------------------

#23Herurg

  • 16 мая 2011 11:52
  • Регистрация: 13.09.2010
  • Был(а) онлайн: 10.02.2016
  • Комментариев: 46
  • 0
в файле: dle/engine/ajax/registration.php
измени это: $ipb_dle_lan[0] = "Данное имя уже используется на форуме.";
на это: $ipb_dle_lan[0] = "<br />Данное имя уже используется на форуме.";

#24I.Vladislav.D

  • 16 мая 2011 12:17
  • Регистрация: 17.02.2011
  • Был(а) онлайн: 31.05.2011
  • Комментариев: 4
  • 0
Спасибо , теперь всё нормально :) Хорошая статья .

--------------------

#251234567

  • 16 мая 2011 13:24
  • Регистрация: 14.09.2009
  • Был(а) онлайн: 17.02.2022
  • Комментариев: 16
  • 0
Цитата: 1234567
Вот реальные авторы единной регистрации:

http://admin-club.ru/forum/index.php?showtopic=138


Авторов укажите!

#26DinoMC13

  • 16 мая 2011 16:39
  • Регистрация: 5.12.2009
  • Был(а) онлайн: 8.03.2015
  • Комментариев: 143
  • 0
Спасибо =)) наконец то сделали

--------------------

#27MacLeo

  • 16 мая 2011 16:56
  • Регистрация: 19.09.2010
  • Был(а) онлайн: 2.02.2022
  • Комментариев: 48
  • -1
Поставил IPB , сделал все как написано. Попробовал зайти с существующего аккаунта администратора - не заходит. Хотел зарегистрировать новый аккаунт с сайта - в конце регистрации выскочила ошибка mysql и написано :

$ $db_prefix_ipb = "префикс_если_его_нету_оставить_пустым";

позже попробую еще раз, может где то не досмотрел что то

--------------------

#28MacLeo

  • 16 мая 2011 17:37
  • Регистрация: 19.09.2010
  • Был(а) онлайн: 2.02.2022
  • Комментариев: 48
  • -1
dle/engine/modules/reg[code]
Это типа register.php ?


Ошибку исправил, где то напартачил но не знаю где ) . Теперь к Вам вопрос. У меня на сайте есть уже приличное количество пользователей. Как сделать что бы они смогли заходить на форум без новой регистрации ?

--------------------

#29Herurg

  • 16 мая 2011 18:21
  • Регистрация: 13.09.2010
  • Был(а) онлайн: 10.02.2016
  • Комментариев: 46
  • 0
всё остальное делаем сами или платно в пм от 600р за модуль автопереноса уже существующих пользователей

#30santa91

  • 17 мая 2011 00:47
  • Регистрация: 9.04.2010
  • Был(а) онлайн: 6.08.2020
  • Комментариев: 30
  • 0
MacLeo,
Поставил IPB , сделал все как написано. Попробовал зайти с существующего аккаунта администратора - не заходит. Хотел зарегистрировать новый аккаунт с сайта - в конце регистрации выскочила ошибка mysql и написано :

$ $db_prefix_ipb = "префикс_если_его_нету_оставить_пустым";

позже попробую еще раз, может где то не досмотрел что то


Тоже такое было.
В коде замени :

$ $db_prefix_ipb = "префикс_если_его_нету_оставить_пустым";

на
$ $db_prefix_ipb = "";


должно норм быть)

#31Tappo4eK

  • 17 мая 2011 16:30
  • Регистрация: 16.09.2010
  • Был(а) онлайн: 19.11.2024
  • Комментариев: 46
  • 0
На суб домене работает?

#32iphone-Net

  • 18 мая 2011 04:34
  • Регистрация: 5.04.2011
  • Был(а) онлайн: 10.07.2011
  • Комментариев: 6
  • 0

Цитата: Tappo4eK
На суб домене работает?


да

#33.::SkiFteL::.

  • 18 мая 2011 17:32
  • Регистрация: 31.01.2010
  • Был(а) онлайн: 20.12.2023
  • Комментариев: 125
  • 0
Класс!
Автору ОГРОМНОЕ спасибо!
Проверил на CMS DLE 9.0 (Работает на УРА)

Жаль лишь что кто зарегистировался к примеру месяц назад на сайте - не сможет войти под своим ником как на форум =(

#34gh0stl4b

  • 19 мая 2011 08:46
  • Регистрация: 14.05.2011
  • Был(а) онлайн: 27.11.2011
  • Комментариев: 11
  • 0
Большое СПС
И славо богу что без Хайда :)

#35Herurg

  • 19 мая 2011 09:08
  • Регистрация: 13.09.2010
  • Был(а) онлайн: 10.02.2016
  • Комментариев: 46
  • 0
Все новые модули\хаки можно будет смотреть на сайте webbox.su в скором времени сделаю

#36SL.KazaX

  • 19 мая 2011 09:49
  • Регистрация: 30.01.2011
  • Был(а) онлайн: 29.03.2022
  • Комментариев: 31
  • 0
Вот это давно искал но все таки нашел Спасибо!!

#37v.o.v.4.1.k.

  • 25 мая 2011 11:02
  • Регистрация: 14.02.2011
  • Был(а) онлайн: 26.03.2013
  • Комментариев: 9
  • 0
сделать все что написано выше и все?
файлы никакие не нужно заменять?
а единой авторизации не будет?

#38magu112

  • 28 мая 2011 00:09
  • Регистрация: 22.01.2011
  • Был(а) онлайн: 27.09.2021
  • Комментариев: 12
  • 0
Спасиб!!) dle 9.3 работает?

--------------------

#39Zielony

  • 28 мая 2011 11:11
  • Регистрация: 13.02.2011
  • Был(а) онлайн: 26.06.2012
  • Комментариев: 5
  • 0
Цитата: magu112
Спасиб!!) dle 9.3 работает?
Она работает так же испытания good

--------------------

#40realyhead

  • 5 июня 2011 04:14
  • Регистрация: 14.02.2011
  • Был(а) онлайн: 30.08.2014
  • Комментариев: 119
  • 0
У меня на 3.1.4 НЕ РАБОТАЕТ!!!!!

Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.

Архив новостей
Ноябрь 2024 (9)
Октябрь 2024 (169)
Сентябрь 2024 (13)
Август 2024 (60)
Июль 2024 (12)
Июнь 2024 (30)

Последние комментарии: