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

Сессии, безопасность, интегрция IPB со своим движком


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

использую ipb 2.1.7 и самописный движек... (портальный)

сам портал лежит в корне (/) а форум в папке forum (/forum)...задача следующая:

юзер заходит под своим логином и паролем в ipb, но когда переходит на портал (получается ниже на директорию) должна создаваться сессия для портала (так как портал ниже чем ipb, то Ipb'шный кукиес можно прочитать)

 

так вот, в портальной бд я создал примерно вот такую таблицу:

cp_id - id юзера на портале

ipb_id - id юзера на ipb

 

т.е.когда юзер попадает на портал, оно проверяет:

если member_id в куках есть и нет сессии на портале, значит скрипт лезет в db портала, берет данные (узнает какой у данного юзера id на портале) и создает сессию на портале...

вроде все красиво и понятно...но есть одно но! member_id в куках можно запросто поменять, и тогда мой скрипт создаст ему левую сессию :D хоть админа...

так вот, достаточно ли будет проверить хеш пароля? (сверить тот что в куках и тот что в бд форума)

 

п.с.форум и портал в разных бд...

 

и еще пару вопросов (может кому-то будет не сложно ответить ;) ):

1.надо при регистрации создавать определенные записи в другой бд...в каком файле надо сделать изменения? (т.е.какой файл отвечает за регистрацию...а именно, за создание юзера в бд...а не проверке форм и т.д.)

2.какие файлы отвечают за логин и автологин (т.е.за создание сессии в ipb)

3.какие файлы отвечают за авто. смену пароля и редактирование профиля (при смене пароля надо записывать его md5 хеш в db портала...чтоб потом при создании сессии каждый раз не коннектиться к левой бд)

 

вроде это все что нужно :) я вообще не ленивый, просто занятый + ipb очень плохо знаю :) а тут столько специалистов.... :)

 

заранее спасибо!

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

Смотри п.2 и темы про авторизацию в форуме «Программирование».

 

1. См. п.3;

2. ./sources/classes/class_session.php;

3. При утере пароля — ./sources/action_public/register.php, там же при регистрации, при смене в «Личных данных» — ./sources/action_public/usercp.php, там есть вызов необходимых функций, смена из админки — ./sources/action_admin/member.php;

 

P.S. Чтобы не дублировать код несколько раз, можно вынести его в функцию on_pass_change в файле ./modules/ipb_member_sync.php, только по умолчанию в неё передаётся сам пароль, нужно будет её модифицировать чтобы принимала ещё и хеш и соответственно в файлах где она вызывается дописать передачу этого параметра. кстати поиск вызова этой функции по файлам и даст все места где пароль меняется :D

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

так вот, достаточно ли будет проверить хеш пароля? (сверить тот что в куках и тот что в бд форума)

Вполне.

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

  • 4 недели спустя...

Добрый день ;)

 

для общей регистрации/логина воспользовался ipb_member_sync.php (там функции on_create_account и т.д.)

 

вопрос: какая функция выполняется при смене отображаемого имени?!

думал это on_name_change, но нет :D

 

заранее спасибо!

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

Для этого функция не предусмотрена. Либо делайте нужные операции в функции display_name_change файла ./sources/action_public/usercp.php, либо делайте там require модуля и вызов функции, созданной вами в нём.
Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
м... а если наоборот? ты не пробывал? мне нужно наоборот сделать свой авторизационный прикрутить к форуму ... может что посоветуешь?
Ссылка на комментарий
Поделиться на других сайтах

См. в сторону внешней авторизации. Полистайте http://wiki.iblink.ru + админка(Настройки->Методы авторизации) + ./sources/loginauth/external/
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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