Новости Joomla

Вышли релизы безопасности Joomla 6.1.1 и Joomla 5.4.6

Релиз безопасности Joomla 6.1.1 и Joomla 5.4.6

Проект Joomla! рад сообщить о выходе Joomla 6.1.1 и Joomla 5.4.6. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 916 Просмотров
*

ColdRaven

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Let's Rock!!))
Добрый день!

Возникла необходимость залезть в данные сессии "не текущего" пользователя, имея на руках ID этого пользователя и очистить ее от заботливо ($session->set() ) заполненной ранее переменной, при этом не сбрасывая сессию целиком, т.е. пользователь должен остаться залогиненным.

unserialize() поля 'data' из #__session возвращает ошибку, поэтому с этим работать не вариант.

Подскажите, пожалуйста, есть ли в Joomla такая возможность?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сессия другого пользователя
« Ответ #1 : 25.01.2016, 18:57:57 »
base64_decode
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ColdRaven

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Let's Rock!!))
Re: Сессия другого пользователя
« Ответ #2 : 25.01.2016, 19:11:40 »
base64_decode() возвращает false
« Последнее редактирование: 25.01.2016, 19:15:25 от ColdRaven »
*

ColdRaven

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
  • Let's Rock!!))
Re: Сессия другого пользователя
« Ответ #3 : 25.01.2016, 20:17:34 »
UPD
Нашел в классе JSessionStorageDatabase вот такой код:
Код
$data = str_replace(chr(0). '*' . chr(0), '\0\0\0', $data);
Сделал обратную замену, убрал из начала строки '__default', и после этих манипуляций, unserialize выдал вполне адекватный массив.

Однако, после удаления двух элементов, сериализации, возврата всех проделанных замен и апдейта этого поля в #__session, авторизация пользователя, к которому были применены такие изменения все равно слетает.

Есть возможность работать с чужой сессией без подобных костылей? Или если нет, подскажите, пожалуйста, в чем, собственно, косяк?
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Сессия другого пользователя
« Ответ #4 : 25.01.2016, 20:51:18 »
не знаю в чем косяк, но у меня в Ж 3.4.8 поле date начинается с
Код
joomla|s:1452:"Tzoy
так вот Tzoy... - и есть base64 кодированная строка. base64_decode вполне себе возвращает
Код
O:24:"Joomla\Registry\Registry":2:{s:7:"*data";O:8:"stdClass":1:
и так далее
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Пароль Пользователя

Автор Олег5

Ответов: 3
Просмотров: 1165
Последний ответ 14.02.2025, 10:41:20
от fbr
Я создал пользователя Author, но он не может зайти в редактирование

Автор Olegus79

Ответов: 7
Просмотров: 1526
Последний ответ 19.10.2023, 20:48:52
от Vastriet
Сохранение авторизации пользователя при переходе на поддомен

Автор denism300

Ответов: 2
Просмотров: 1197
Последний ответ 14.11.2022, 11:35:14
от denism300
Проверка наличия пользователя на сайте

Автор Robert24

Ответов: 6
Просмотров: 1218
Последний ответ 15.10.2022, 14:40:51
от marksetter
Не отображается картинка в материале с другого хостинга

Автор Beer

Ответов: 3
Просмотров: 1254
Последний ответ 16.09.2022, 21:18:01
от marksetter