Pagina 1 van 1
wat doet phpbb met de sessies
Geplaatst: 08 okt 2004, 22:26
door w0uter
Ik heb het topic van dopey gevolgd over het eigen member systeem aan phpbb te koppellen. Nu ben ik daar best een eind mee gekomen alleen loop ik tegen 2 problemen op. En ik denk ook het lastigste te maken.
Als ik inlog op mijn site en ik klik op een link van het forum waar het session_id achter staat dan ben ik gewoon ingelogt op het forum.
Maar login ik in op het forum en ik ga dan terug naar mijn site dan ben ik niet ingelogt. Hoe dit komt? Dat is eigelijk heel simpel want het session_id dat phpbb gebruikt is heel anders als het session_id dat ik heb ?
Dus mijn vraag is wat doet phpbb in godsnaam met de sessions_id`s ?
Ik heb in sessions.php zitten kijken maar ik kom er niet echt wijs uit dit zal vast te wijten zijn aan mijn PHP kennis. Kan iemand mij hier mee helpen ?
Geplaatst: 08 okt 2004, 23:36
door mosymuis
Waarom iets namaken wat al gedaan is? Gebruik simpelweg phpBB's functies. Hoe? Bekijk de
Blank Page Template.
Geplaatst: 09 okt 2004, 09:29
door w0uter
mosymuis schreef:Waarom iets namaken wat al gedaan is? Gebruik simpelweg phpBB's functies. Hoe? Bekijk de
Blank Page Template.
Als ik het allemaal goed begrijp is die mod om boven aan waar bijv. zoeken staat een pagina toetevoegen. Maar dat s niet wat ik wil.
Ik wil eigelijk het volgende bereiken. Ik ben op forum.eendomein.nl ingelogt. En ga nu naar
http://www.eendomein.nl dan wil ik dat ik daar ook meteen ingelogt ben. Anders om van
http://www.eendomein.nl naar forum.eendomein.nl en dan ongelogt blijven zal lastiger worden. Aangezien je al meteen uitgelogt bent als ingelogt bent op het forum en je typt de url van het forum opnieuw.
Geplaatst: 09 okt 2004, 12:03
door w0uter
Ik heb even naar de code van die mod gekeken. En als ik denk dat ik dit moet gebruiken voor het session gebeuren zou ik dan wel goed zitten ?
Ik kan het helaas niet uit proberen aangezien ik op me werk zit....
Code: Selecteer alles
<?php
// standard hack prevent
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
// standard session management
$userdata = session_pagestart($user_ip, PAGE_TEMPLATE);
init_userprefs($userdata);
?>
Geplaatst: 09 okt 2004, 12:54
door mosymuis
Dat klopt, die regels waren degenen waar ik op doelde. Als je site op hetzelfde domein draait als je forum zullen ze overal zijn ingelogd.
Geplaatst: 09 okt 2004, 15:48
door w0uter
mosymuis schreef:Dat klopt, die regels waren degenen waar ik op doelde. Als je site op hetzelfde domein draait als je forum zullen ze overal zijn ingelogd.
De site draait wel op het zelfde domein alleen niet op de zelfde server ;(
Heb ik weer een uitdaging denk ik....
Geplaatst: 10 okt 2004, 17:27
door w0uter
Ik kom toch echt nog niet uit het gebeuren met die sessies... Misschien dat iemand me hier nog even kan helpen ?
Als ik de volgende code gebruik
Code: Selecteer alles
define('IN_PHPBB', true);
$phpbb_root_path = 'forum/';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.php');
//standard session managemaent
$userdate = sesesion_pagestart($users_ip, BLAAT);
init_userprefs($userdata);
vondt hij dat niet echt een goed plan omdat hij de functie session_pagestart niet kan vinden om dat deze in sessione.php staat. Dus ik heb sessions.php ook maar geincluded.
Maar dan krijg ik de volgende fout:
Fatal error: Cannot redeclare session_begin() (previously declared
in /srv/www/webshop.addrenaline.com/forum/includes/sessions.php:27) in
/srv/www/webshop.addrenaline.com/forum/includes/sessions.php on
line 27
Ik snap voorlopig nog helemaal niets van wat ze doen met dat session_id.
Volgens mij heb ik ook niet echt alles aan de bovenstaande code. Want ik krijg daar toch niet het juiste session_id uit ? Of zie ik dat helemaal verkeerd ?
Ik hoop dat iemand mij nog even een schop in de juiste richting wil geven...
Geplaatst: 10 okt 2004, 18:50
door w0uter
Ik kwam het volgende tegen in sessions.php (kan helaas even niet het regel nummer geven want ik zit weer op me werk)
Is dit niet wat phpbb met het session_id doet ? Als ik nu dit doe op mijn site. En ik zet het in de dn op de juiste plaats en ik ga dan naar het forum zou ik dan ingelogt blijven ?
Geplaatst: 11 okt 2004, 00:08
door mosymuis
w0uter schreef:vondt hij dat niet echt een goed plan omdat hij de functie session_pagestart niet kan vinden om dat deze in sessione.php staat.
Sessions word al geladen binnen common:
include($phpbb_root_path . 'includes/constants.'.$phpEx);
include($phpbb_root_path . 'includes/template.'.$phpEx);
include($phpbb_root_path . 'includes/sessions.'.$phpEx);
include($phpbb_root_path . 'includes/auth.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
Welke error kreeg je dan bij de session_pagestart?
w0uter schreef:Dus ik heb sessions.php ook maar geincluded. Maar dan krijg ik de volgende fout:
Fatal error: Cannot redeclare session_begin() (previously declared
in /srv/www/webshop.addrenaline.com/forum/includes/sessions.php:27) in
/srv/www/webshop.addrenaline.com/forum/includes/sessions.php on
line 27
Logisch, het sessie object is nu twee keer gedeclareerd; eens in common en dan nog eens los in sessions.
Geplaatst: 11 okt 2004, 12:07
door w0uter
Alle problemen met dat session gebeuren kwamen door een type fout....
Maar echt makkelijk werkt het session gebeuren niet omdat er steeds een een nieuwe session_i wordt gemaakt. Dat zou dus betekenen dat ik overal constant de waarde sid=(session-id) moet gaan meegeven alleen dat vinden de zoek machines weer niet echt leuk....
Of zou ik aan de hand van het IP de daar bij behoorden session_id moet pakken ? Maar dat is denk ik niet een echt veilig plan...
Want iederekeer het sesison_id mee geven wil ik eigelijk niet...
Geplaatst: 11 okt 2004, 13:42
door mosymuis
Het klopt dat zoekmachines er niet dol op zijn, maar dat is ook een probleem van phpBB. Echter, dit hoeft normaal gesproken geen probleem te zijn omdat het session ID bij zo goed als iedereen in de cookie wordt opgeslagen. Haal al je links door append_sid(), dan bepaalt phpBB zelf of er wel of geen session ID bij hoort.
Geplaatst: 11 okt 2004, 15:34
door w0uter
mosymuis schreef:Het klopt dat zoekmachines er niet dol op zijn, maar dat is ook een probleem van phpBB. Echter, dit hoeft normaal gesproken geen probleem te zijn omdat het session ID bij zo goed als iedereen in de cookie wordt opgeslagen. Haal al je links door append_sid(), dan bepaalt phpBB zelf of er wel of geen session ID bij hoort.
Als ik jouw antwoord lees dan zouden zoekmachines er niet echt heel veel moeite mee hebben ? Of zou ik iets kunnen berieken met met mod_rewrite? Dat ik bijv. de volgende ulr maak.
http://www.mijnsite.nl/pagin/sid/(session_id)/ Dan zou de zoek machines er geen moeite meer mee moeten hebben denk ik. alleen heb ik me twijvels of dat gaat werken zo als ik wil willen....
Een andere optie die in op komt is op proberen te vinden (wat me tot nu toe nog niet gelukt is) waar phpbb het session_id bij een login of waar session_logged_in op 1 wordt gezet En daar een extra kolom maken daar dan een extra kolom maken waar een normaal session_id wordt in gezet.
Maar dan dan gaat het wel goed als je van forum naar site gaat maar niet als je van site weer terug gaat naar het forum. Maar dan zou ik de functie append_sid() altijd moeten gebruiken als ik naar het forum link ?
Toch is het wel lastig ene eigen usersyteem aan phpbb hangen

Geplaatst: 11 okt 2004, 16:55
door mosymuis
w0uter schreef:Als ik jouw antwoord lees dan zouden zoekmachines er niet echt heel veel moeite mee hebben ? Of zou ik iets kunnen berieken met met mod_rewrite? Dat ik bijv. de volgende ulr maak.
http://www.mijnsite.nl/pagin/sid/(session_id)/ Dan zou de zoek machines er geen moeite meer mee moeten hebben denk ik. alleen heb ik me twijvels of dat gaat werken zo als ik wil willen....
Het lijkt er zelfs op dat Google pagina's met een ?sid= weigert te indexeren, omdat dit zogenaamde dynamische content zou zijn. Lees
hier een uitgebreide thread met veel info. Een htaccess oplossing zou kunnen, al zal je er nog veel meer moeite mee hebben om alle koppelingen dan goed aan te passen.
w0uter schreef:Een andere optie die in op komt is op proberen te vinden (wat me tot nu toe nog niet gelukt is) waar phpbb het session_id bij een login of waar session_logged_in op 1 wordt gezet En daar een extra kolom maken daar dan een extra kolom maken waar een normaal session_id wordt in gezet.
Maar dan dan gaat het wel goed als je van forum naar site gaat maar niet als je van site weer terug gaat naar het forum. Maar dan zou ik de functie append_sid() altijd moeten gebruiken als ik naar het forum link ?
Toch is het wel lastig ene eigen usersyteem aan phpbb hangen

Ik zie niet hoe het toch zo moeilijk kan zijn; phpBB doet alles voor je mits je de functies gebruikt waar ze bedoeld zijn. Je hoeft zelf helemaal geen sessie aanpassingen te maken om het te laten werken. append_sid() moet je gebruiken op
alle links naar pagina's met het sessie systeem, dus ook die van jezelf. Zo is het voor bezoekers zonder cookie mogelijk om ingelogd te blijven. De cookie word verkozen boven de url toevoeging.
Geplaatst: 11 okt 2004, 17:46
door w0uter
mosymuis schreef:Als ik jouw antwoord lees dan Ik zie niet hoe het toch zo moeilijk kan zijn; phpBB doet alles voor je mits je de functies gebruikt waar ze bedoeld zijn. Je hoeft zelf helemaal geen sessie aanpassingen te maken om het te laten werken. append_sid() moet je gebruiken op alle links naar pagina's met het sessie systeem, dus ook die van jezelf. Zo is het voor bezoekers zonder cookie mogelijk om ingelogd te blijven. De cookie word verkozen boven de url toevoeging.
De reden dat ik een eigen aanpassing wil doen van de sessie`s is dat de site dan nog goed geindexeerd zou worden. Want dan hoef ik helemaal niet op mijn site links te maken met een session_id er achter.
Ik ben juist mod_rewrite gaan gebruiken om beter geindexeerd te worden...