Как да прочета cookie в phpBB2 ?
3 отговора
94 прегледа
Как да прочета cookie в phpBB2 ?
Моля помогнете. Проблема е следния :
phpBB2 изпраща бисквитка на регистрирания потребител, с намерението когато отново влезне във форума да не се логва наново. Тая бисквитка обаче, както може да се очаква, е криптирана.
Това което се опитвам да направя, е да прочета тази бисквитка изпратена от собствения си форум, да видя името на юзъра и да го сложа на главната си страница.
Ако някой знае начи, моля да ми помогне. Благодаря.
phpBB2 изпраща бисквитка на регистрирания потребител, с намерението когато отново влезне във форума да не се логва наново. Тая бисквитка обаче, както може да се очаква, е криптирана.
Това което се опитвам да направя, е да прочета тази бисквитка изпратена от собствения си форум, да видя името на юзъра и да го сложа на главната си страница.
Ако някой знае начи, моля да ми помогне. Благодаря.
Re: Как да прочета cookie в phpBB2 ?
При логването на потребител в phpBB, скрипта сетва две кукита - phpBB_data и phpBB_sid. Във първото (phpBB_data) имаш доста информация (сериализирана) но дори и там нямаш username а само user_id
Така, че имаш два варианта:
1. Редактираш функцията session_begin() във includes/sessions.php и някъде след ред 189 сетваш свое куки със username. Сещаш се обаче, че ако потребителя промени своя username, поне до следващото му логване, на началната ти страница ще се изписва стария username.
2. При всяко зареждане на началната ти страница, правиш unserialize() на phpBB_data, взимаш втория елемент (user_id) и питаш базата данни за username на този user_id
Според мен, първия вараиант ще ти свърши работа.
Така, че имаш два варианта:
1. Редактираш функцията session_begin() във includes/sessions.php и някъде след ред 189 сетваш свое куки със username. Сещаш се обаче, че ако потребителя промени своя username, поне до следващото му логване, на началната ти страница ще се изписва стария username.
2. При всяко зареждане на началната ти страница, правиш unserialize() на phpBB_data, взимаш втория елемент (user_id) и питаш базата данни за username на този user_id
Според мен, първия вараиант ще ти свърши работа.
Re: Как да прочета cookie в phpBB2 ?
Благодаря много! Цяла нощ си блъсках кухата глава, но накрая се светнах. Всъщност, името на бисквитката по подразбиране е phpbb2mysql_data, освен ако не е сменено от администратора. Което значи че за тоя домейн има глобална променлива със същото име. Тя изглежда приблизително така :
a:2:{s:11:\"autologinid\";s:32:\"bааe5eа420c6122cа9c133d851a67662\";s:6:\"userid\";i:3;}
(променил съм стойностите, да не вземе да се изкуши някой да се вмъкне като админ)
И това накрая 3 е именно айдито на юзъра в базата данни.
a:2:{s:11:\"autologinid\";s:32:\"bааe5eа420c6122cа9c133d851a67662\";s:6:\"userid\";i:3;}
(променил съм стойностите, да не вземе да се изкуши някой да се вмъкне като админ)
И това накрая 3 е именно айдито на юзъра в базата данни.
Re: Как да прочета cookie в phpBB2 ?
П.С.
Забранил съм потребителя да променя своя юзърнейм :-)
Забранил съм потребителя да променя своя юзърнейм :-)