VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
вбеллютин 4
подскажите как происходит авторизация на форуме без сохранения пароля
создаю в ручную сессию в базе.
в сессии указываю данные
`sessionhash`, `userid`, `host`, `idhash`, `lastactivity`, `useragent`, `loggedin`
создаю куки содержащие sessionhash такой-же как в базе
порылся в интернете и немного в коде форума
понял что авторизация без сохранения пароля происходит так:
я захожу на форум создается сессия где мой userid = 0
дальше после ввода логина и пароля обновляется запись в таблице session и если мой логин и пароль совпадает с юзер данными из таблицы пользователей то мне дается userid пользователя от которого я вводил пароль
получается все так:
создаю в ручную запись в БД сессии о моем присутствии, создаю куки с сессионхеш
захожу на форум, пишет что не залоген и создает еще одну сессию и меняет мою куку с сессионхеш на новую куку с новым сессионхешем (получается две сессии одна созданная в ручную где юзерид не = 0, а вторая созданная форумом где юзерид = 0).
после этого в ручную меняю значение куки сессионхеш на значение созданное в ручную(сессия где юзер ид не = 0, тоесть ид юзера) и о щастье получается что я залогинился
но вот почему не получается залогинится таким способом с первого раза, надо обязательно зайти на форум и чтобы скриптом форума создалась сессия, почему форум не может с первого раза использоват мою сессию созданную в ручную.
надеюсь кто нибудь что-то понял из написанного мной, но более ясно объяснить не получается)
Last edited by empy : 02-09-2012 at 01:10 AM.
Reason: Добавлено сообщение
empy, Вопервых не стоит самого себя цитировать...
Во вторых, все происходит немного не так...
Для любого зашедьшего на форум человека, действительно создаются 2 сесси. первая сессия создаеться для гостя и для нее формируется хеш запись, эта запись временная и будет удалена по истечении определенного срока. Нужна она для того, что бы там кешировать результаты просмотров вида контролов ну и тому подобное, но вот если ты все же не гость, то после введения логина и пароля, подтягиваеться информация из профайла, в этот момент создается новая сессия, совершенно отличная от предыдущей и уже привязанная к пользователю. В этот момент начинает работать счетчик времени нахождения в логине и активность на форуме начинает фиксироваться в бд.
Но это все лирика, так как создать предварительно сессию возможно но безсмысленно, так как проверка идеть по хешу сесси, а хеш формируеться из вполне конкретных параметров, на сколько я помню, это юникс время и название браузер агента и по моему еще ip... То есть если ты и сформируешь хеш, то работать он будет в течении 900 секунд (настройка по умолчанию) а потом тебе надо формировать новый хеш или постоянно обновлять таблицу с фиксацией новой активности в предыдущей записи сессии....
В общем ответил, так же как ты спросил.... фиг поймешь Но надеюсь ты понял.
@empy
Простоузер
Join Date: Dec 2008
Posts: 38
Версия vB: 4.1.5
Reputation:
Novice 3
Репутация в разделе: 3
0
хешсессии генерируется так: md5(uniqid(microtime()))
соответственно выходит рандомное значение
а скрипт форума проверет твоя это сессия или нет по idhash, а ид хеш генерируется по твоему ип и юзерагенту
буду ковыряться...
нужно как-то сдлеать чтобы авторизация была с сайта и при этом залогинивалось на форуме...
@SMak044
Эксперт
Join Date: May 2008
Награды в конкурсах:
Posts: 1,764
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1705
Репутация в разделе: 1190
1
empy, смотри в сорону fetch_user() все происходит именно там.
@empy
Простоузер
Join Date: Dec 2008
Posts: 38
Версия vB: 4.1.5
Reputation:
Novice 3
Репутация в разделе: 3
0
замороченно там все ппц как
проще подделать сайт под форум чем переделывать форум под сайт)
сделал проще
разместил форму авторизации от форума на сайте, которая логинит пользователя через форум,
а сайт уже будет брать сессию от форума и куки форума