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

Сессии, безопасность, интегрция 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/
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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

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

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

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

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

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

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

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