Open Rpsl opened 4 years ago
Архивный комментарий. Был написан EPLO (25.10.2009 14:21:50)
Всё прикольно но не понятно куда и чего, а поподробнее можно?
Архивный комментарий. Был написан Rpsl (26.10.2009 17:35:33)
Чем конкретнее ты задашь вопрос, тем более развёрнуто я дам ответ.
Архивный комментарий. Был написан kwon (10.11.2009 10:45:36)
Можно подробней 3 пункт -
# Авторизация на форуме делается путем установки кук + добавлением записи в таблицу %prefix%_sessions БД форума (листинг ниже)
Как добавлять куки? какие куки? и как вставить запись в таблицу?
Архивный комментарий. Был написан Rpsl (10.11.2009 10:53:24)
Думаю тебе это не поможет.
Архивный комментарий. Был написан TT (12.11.2009 15:03:15)
Спасибо большое, именно то что нужно без лишней "воды". Я так понимаю, в куку и таблицу sessions нужно писать напрямую значение $ss, без всякой сериализации?
Архивный комментарий. Был написан Rpsl (12.11.2009 15:12:16)
Да, я уже собрал массив, который необходимо добавить в БД.
Что поставить в куку не помню, посмотрите какой формат генерит форум и сделайте по аналогии или вообще ничего вставлять не нужно, форум сам разберется.
Архивный комментарий. Был написан Dekabrist (22.01.2010 12:16:57)
Проверяем, заполненно ли у предпологаемого пользователя поле user_f_id - а зачем создавать это дополнительное поле, если можно просто проверить существование данного логина в базе phpBB? Или предполагается, что на форуме не будет обратной единой регистрации либо она не будет отключена?
Архивный комментарий. Был написан Rpsl (22.01.2010 12:25:34)
В той реализации которую я делал, предполагалось, что регистрация через форум доступна не будет, т.к. для это требовалось править исходники форума, что при обновлении версии будет вызывать лишние проблемы.
Плюс сравнивать пользователей по имени не лучшее решение, нужен более чёткий идентификатор (user_id, email, ...)
Архивный комментарий. Был написан Dekabrist (22.01.2010 12:45:35)
Плюс сравнивать пользователей по имени не лучшее решение, нужен более чёткий идентификатор (user_id, email, ...) - почему? Если при регистрации на сайте автоматом будет создаваться такой же аккаунт на форуме, а на том же форуме регистрация запрещена. Также глянул в БД не совпадают поля, видимо версия другая...
Архивный комментарий. Был написан Rpsl (22.01.2010 12:46:53)
Не знаю, это просто мои убеждения -)
Архивный комментарий. Был написан Yury (15.04.2010 15:08:54)
Извините, так и не понял, это только теория или есть где нибудь практическая реализация. Если можно, про установку кук по-подробнее. Спасибо.
Архивный комментарий. Был написан Rpsl (15.04.2010 15:11:22)
Практическая реализация есть и давно работает.
Что конкретно про куки не понятно ?
Архивный комментарий. Был написан Yury (15.04.2010 15:56:36)
Я выставляю вот такие:
$cookie_expires = time() + ($autologin ? 86400*$config['session_autologin_life'] : 31536000);
set_cookie(COOKIE_PREFIX.'_sid', session_id(), $cookie_expires);
set_cookie(COOKIE_PREFIX.'_u', $r["user_id"], $cookie_expires);
set_cookie(COOKIE_PREFIX.'_k', '', $cookie_expires);
set_cookie(COOKIE_PREFIX.'_a', 1, ($autologin ? 86400*$config['session_autologin_life'] : (-1)*31536000));
Происходит что-то странное, пользователь авторизуется на сайте, переходит на форум, вроде как авторизованный, но через секунду выкидывает.
Архивный комментарий. Был написан Rpsl (15.04.2010 16:03:10)
странно, не должно так быть, а я за год уже забыл в чем там дело.
проверь в настройках самого форума, возможно там есть что то про куки. + убедись что данные в БД и в куки правильно кладутся.
Архивный комментарий. Был написан Yury (15.04.2010 16:11:45)
Вы что-то сказали, что можно вообще куки не ставить, форум сам разберется??? Проверяли??? И еще вопрос про сессии, вы генерите имя сессии md5(date('U').rand(0,20)), а почему?? Если авторизация на сайте уже на сессиях, то сессия запущена и наверно достаточно просто получить ее id??? или я что-то не так понимаю??
Архивный комментарий. Был написан Rpsl (15.04.2010 16:23:12)
Я писал пост в апреле, а тот комментарий в ноябре, так что ручаться не могу и у меня нету доступа для проверки того, как это работает.
md5 (date ('U').rand (0,20)) - это легкий способ получить уникальное значение на каждую единицу времени.
>> Если авторизация на сайте уже на сессиях, то сессия запущена и наверно достаточно просто получить ее id??? или я что-то не так понимаю??
тут стоит понимать, что для форума, под "сессия" имеется в виду не $_SESSION, а некая запись в базе, в то время как, у пользователя в браузере лежит имя этой сессий, что бы форум мог связать эти значения.
Архивный комментарий. Был написан Rpsl (15.04.2010 16:25:25)
в то время как, у пользователя в браузере лежит имя этой сессий
в куках
Архивный комментарий. Был написан Yury (15.04.2010 16:28:38)
т.е. в можно использовать и session_id()???
Еще вопрос, до установки кук не нужно проверить их наличие? Я разобрался почему меня выкидывает -- куки с одинаковыми именами записаны, одни форумом, другие сайтом. Как бороться??
Архивный комментарий. Был написан Rpsl (15.04.2010 16:31:55)
> session_id ()
не знаю.
> куки с одинаковыми именами записаны
в настройках форума вроде был пункт про префикс для имен кук. если найдете, то используйте его, если нет - то переименуйте куки на сайте
Архивный комментарий. Был написан Алексей Шишкин (14.06.2011 14:19:06)
Тебе может оно и не надо, а ТС-у огромное спс
Архивный комментарий. Был написан mumur (02.07.2011 12:49:37)
В листинге есть ошибки - по всей видимости, возникли вследствие автозамены некоторых символов.
Written on 06.10.2010 10:22:45
URL: https://blog.rpsl.info/2009/04/integraciya-phpbb3-s-lyubym-sajtom/