Перейти к контенту

Авторизация после конвертирования


Рекомендуемые сообщения

Думаю, тема будет многим интересна.

 

Конкретно, моя проблема:

Делаю конвертацию с Simple Machines Forum 1.1 RC2 в IPB 2.1.6 - проходит на ура.

Захожу под именем админа с форума SMF - нормально.

При попытке зайти в админ-панель - "Неверный пароль".

При попытке сменить пароль - говорит "ОК", но с новым паролем войти уже никуда не могу.

 

Процедура "recover" не помогает. В принципе, нужное могу и ручками занести в базу.

 

Версия IPB - 2.1.6 Rus

 

Насколько я понимаю, после конвертации, авторизация происходит несколько по другому.

Может кто подскажет, как переключиться на стандартный метод авторизации, т.е. где эта настройка хранится. К базе и скрипту имею полный доступ (домашний ПК, домовая сеть).

Или подскажите плиз, где дальше копать.

 

Заранее спасибо.

Ссылка на комментарий
Поделиться на других сайтах

Так только хеши МД5 зранятся вроде вместо паролей. В базinvision power board паролей нет. Можно взять эти МД5, но там нужен для них расшифровчик. Путем перебора паролей. Тупо.
Ссылка на комментарий
Поделиться на других сайтах

можно вручную поставить хэш.

как все это дело хранится - можно глянуть тут http://www.ibresource.ru/forums/index.php?showtopic=25058

 

а можно и зарегистрироваться, а в базе подставить группу на админа.

Изменено пользователем .silent
Ссылка на комментарий
Поделиться на других сайтах

Yagoda

 

тем пользователям которые имеют доступ к админцентру не рекомендую делать пароли из русских символов. Сколько конверторов написал, но на моей памяти больше проблемм с конвертацией небыло у меня никогда. Да и еще там в конверторе ссылочка есть снизу на пересчет и обновление кешей, сделайте это.

Ссылка на комментарий
Поделиться на других сайтах

Проблема решилась на ура - нашел более новый скриптик recover. Им восстановил пароль админа.

Скриптик маленький, привожу весь его код:

<?php 
$member_id	= "2";			// id пользователя информацию, которого будем менять
$password	 = "123";		  // новый пароль

define( 'IPB_THIS_SCRIPT', 'public' );
define( 'IPB_LOAD_SQL'   , 'queries' );

require_once( './init.php' );

//=============================
// MAIN PROGRAM
//=============================

$INFO = array();

//--------------------------------
// Load our classes
//--------------------------------

require_once ROOT_PATH  ."sources/ipsclass.php";
require_once ROOT_PATH  ."sources/classes/class_display.php";
require_once ROOT_PATH  ."sources/classes/class_session.php";
require_once ROOT_PATH  ."sources/classes/class_forums.php";
require_once KERNEL_PATH."class_converge.php";
require_once ROOT_PATH  ."conf_global.php";

# Initiate super-class
$ipsclass	   = new ipsclass();
$ipsclass->vars = $INFO;

//--------------------------------
// The clocks a' tickin'
//--------------------------------

$Debug = new Debug;
$Debug->startTimer();

//--------------------------------
// Load the DB driver and such
//--------------------------------

$ipsclass->init_db_connection();

//--------------------------------
// INIT other classes
//--------------------------------

$ipsclass->print			=  new display();
$ipsclass->print->ipsclass  =& $ipsclass;

$ipsclass->sess			 =  new session();
$ipsclass->sess->ipsclass   =& $ipsclass;

$ipsclass->forums		   =  new forum_functions();
$ipsclass->forums->ipsclass =& $ipsclass;

//--------------------------------
//  Set up our vars
//--------------------------------

$ipsclass->parse_incoming();

//--------------------------------
//  Set converge
//--------------------------------

$ipsclass->converge = new class_converge( $ipsclass->DB );

$ipsclass->DB->query("SELECT email FROM ".SQL_PREFIX."members WHERE id='".$member_id."'");
$mem = $ipsclass->DB->fetch_row();

$ipsclass->converge->converge_load_member($mem['email']);
$ipsclass->converge->converge_update_password( md5($password), $mem['email'] );

die("Всё сделано.<br>Удалите этот файл с сервера!");
?>

Для инфы, может кому и пригодится.

Был у меня когда-то форум на phpBB2, переехал на SMF 1.1 (возможностей в нем поболе, да и удобнее).

Старый пришлось оставить "только чтение". Удалять было жалко - много информации.

Так у меня и висело 2 форума месяца 4. Попалась инфа в Инете про IPB. Походил-почитал, в том числе и про утилиты конвертации-объединения. Засвербило объеденить эти форумы.

Понадобилось:

- convert - конвертация с других движков

- unatco - объединение форумов IPB

- recover - на всякий случай, восстановление пароля

 

Установил 2 форума на машине - /ipb (основной) и /ipb_temp (временный).

Т.к. инфы в старом SMF было больше, решил его брать основным.

Конвертировал SMF > /ipb и phpBB2 > /ipb_temp. Пришлось воспользоваться утилитой recover.

После конвертации на обоих получившихся форумах включил встроенный метод авторизации, пересобрал кеш и провел пересчет всего стандартными средствами.

Объединение прошло нормально. Получил двойной набор масок доступа, групп и юзеров (юзеры на обоих форумах почти одни и теже были). Пришлось ручками освободить и удалить дубликаты масок и групп. Ну и разрешения просмотрел - поменял где надо. С дубликатами юзеров сложнее, сейчас буду искать (где-то попадался скрипт) - сложность в том, что некоторые дубликаты имеют разные имена и(или) адреса. Нужен скрипт, которому можно подсунуть id удаляемого юзера и id юзера, на которого перекинуть его посты и все прочее.

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

Ссылка на комментарий
Поделиться на других сайтах

Проблема разрешилась - как, писал здесь. Видимо удалили. Упс..

Всем спасибо.

Ой, извиняюсь - с кеша прочиталось. Все на месте. А удалить свой пост не могу. Мож модеры удалят?

Ссылка на комментарий
Поделиться на других сайтах

Для IPB - 2.1.6 готового, для объядинения юзверей, похоже, ничего нет. Поковырялся в базе. В принципе, все просто.

Находим все ИД плохого юзера и меняем на ИД хорошего. Затем плохого юзера просто удаляем. Естественно запросом SQL. Только вот загвоздка - списочек бы, в каких полях каких таблиц ИД юзера пишется? Что нашел (таблицы со стандартным префиксом ibf_ ):

 

ibf_calendar_events - userid - события в календаре

ibf_message_text - msg_author_id - личные сообщения. Или ответы на посты?

ibf_message_topics - mt_from_id; mt_to_id - а это точно, личные сообщения

 

Самое главное :D

ibf_posts - author_id

ibf_topics - starter_id ????

 

Собственно, можно бы обойтись переброской только постов. Личные сообщения - нафиг, события - туда-же. Автор темы - думаю пересчитается. Сегодня, дома попробую (пишу с работы).

 

Думаю, примерно вот так:

u_ok - хороший юзер

u_x - плохой

UPDATE ibf_posts SET author_id=u_ok WHERE author_id=u_x

Ссылка на комментарий
Поделиться на других сайтах

.silent

 

комплексуешь? :D

 

конвертер с VB тоже ты, наверное, делал? =]

 

к слову, если не учитывать особенности пермиций в VB(которые безусловно яляются сложными - числовыми), то конверт осущетвляется просто, а вот если движек форума самописный или нестандартный, например движек форума встроенный в CMS (вроде KOOBI или Битрикс), то тогда приходтся больше и больше ломать голову. Чем меньше SDK чем больше времени тратишь на конвертор.

 

Yagoda

 

я сегодня смотрел конвертор, очень советую его модифицировать

поставь проверочку, что бы логины не совпадали

 

						$DB->query("SELECT * FROM {tbl.prefix}members WHERE LOWER(name)='".strtolower($data['name'])."'");

					if($member = $DB->fetch_row())
					{
						continue;
					}

 

а в дальнейшем конверте проверять есть ли у этой записи владелец(живой пользователь)

Ссылка на комментарий
Поделиться на других сайтах

Отчитываюсь:

Метод объединения юзеров на движке IPB 2.1.6

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

u_ok - хороший юзер

u_x - плохой

UPDATE ibf_posts SET author_id=u_ok WHERE author_id=u_x;

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

Сработал!!! С час, правда, провозился - поиск плохого юзера в базе, поиск его хорошего аналога, исправление запроса, выполнение запроса. Опосля всего - перестройка кеша, пересчет всего и удаление плохих юзверей. Хорошо бы такой фунционал в админпанели. Понадобиться может в любое время, а такой скриптик держать в каталоге с форумом - опасно.

Ура движку IPB!!! Уже и не думал, что удастся объединить форумы. Юзерам, правда, пришлось восстанавливать пароли, но это мелочи.

Ссылка на комментарий
Поделиться на других сайтах

SAT, нет, просто уже двум клиентам исправлял не очень приятные последствия после конвертации с VB :D
Ссылка на комментарий
Поделиться на других сайтах

.silent

 

я знаю :D в стандартной поставке нет ребилда кеша групп из-за чего вылезает масса ошибок ;)

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.