форум vBSupport.ru > vBulletin > Вопрос — Ответ
  • »
VBsupport перешел с домена .ORG на родной .RU Ура! Пожалуйста, обновите свои закладки - VBsupport.ru
 
 
 
 
asakurakei
Простоузер
Default Как работает авторизаци в булке?
0

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

Обнаружил, что булка оставляет в куках bb_userid, bb_password и bb_sessionhash. Насколько я понимаю, на основании этих данных и происходит авторизация в булке. Но как? "импортировать global.php и использовать функции булки" не получится, потому как второе приложение написано не на php. Единственно к чем оно имеет доступ - это куки и база данных. Подскажите пожалуйста, что-где лежит в базе и какой алгоритм авторизации.


ЗЫ php не знаю и без чужой помощи не разберусь в потрохах булки сам...
Bot
Yandex Bot Yandex Bot is online now
 
Join Date: 05.05.2005
Реклама на форуме А что у нас тут интересного? =)
 
 
zCarot
zМарковь
Хочет третью строчку =)
 
zCarot's Avatar
Default
2

asakurakei, булка смотрит sessionhash, если он не устарел (исходя из таймаута куки), то все данные берёт из таблицы сессий в БД
Если же сессия устарела, то идёт сравнение userid и хэша пароля.
Причём пароль хэшируется специальной солью COOKIE_SALT
Все алгоритмы есть в /includes/functions_login.php
 
 
asakurakei
Простоузер
Default
0

zCarot, COOKIE_SALT получается у всех булок одинаковый?

Я так понимаю, этот код ставит куки

PHP Code:
vbsetcookie('userid'$vbulletin->userinfo['userid'], truetruetrue);
vbsetcookie('password'md5($vbulletin->userinfo['password'] . COOKIE_SALT), truetruetrue); 
Функция md5 работает безо всякой отсебятины?

PHP Code:
$vbulletin->userinfo['password'] . COOKIE_SALT 
Это простая "склейка" строк?

И получается, что $vbulletin->userinfo берется из таблицы user. А в таблице session соответственно лежит sessionhash.
Я все правильно понял?
 
 
zCarot
zМарковь
Хочет третью строчку =)
 
zCarot's Avatar
Default
1

Quote:
Originally Posted by asakurakei View Post
COOKIE_SALT получается у всех булок одинаковый?
Нет, но в пределах одной линейки и одной лицензии не меняется. Он определяется в начале файла functions.php
Quote:
Originally Posted by asakurakei View Post
Я так понимаю, этот код ставит куки
именно так
Quote:
Originally Posted by asakurakei View Post
Функция md5 работает безо всякой отсебятины?
ну а как ещё?
Quote:
Originally Posted by asakurakei View Post
Это простая "склейка" строк?
да
Quote:
Originally Posted by asakurakei View Post
И получается, что $vbulletin->userinfo берется из таблицы user. А в таблице session соответственно лежит sessionhash.
да
 
 
asakurakei
Простоузер
Default
0

Спасибо, теперь понятно что к чему. Пусть будет - может кому нибудь понадобится.

Quote:
Originally Posted by zCarot View Post
ну а как ещё?
Где нибудь в потрохах булки она перегружена и для большей "секурности" берет md5 хэш два раза или добавляет чего ;)
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off




All times are GMT +4. The time now is 02:16 AM.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Loading...