wat doet phpbb met de sessies
Forumregels
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.

wat doet phpbb met de sessies
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 ?
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 ?
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.mosymuis schreef:Waarom iets namaken wat al gedaan is? Gebruik simpelweg phpBB's functies. Hoe? Bekijk de Blank Page Template.
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.
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....
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);
?>
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
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:
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...
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);
Maar dan krijg ik de volgende fout:
Ik snap voorlopig nog helemaal niets van wat ze doen met dat session_id.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
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...
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 ?
Code: Selecteer alles
$session_id = md5(uniqid($user_ip));
Sessions word al geladen binnen common: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.
Welke error kreeg je dan bij de session_pagestart?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);
Logisch, het sessie object is nu twee keer gedeclareerd; eens in common en dan nog eens los in sessions.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
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...
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...
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....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.
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

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: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....
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.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
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.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.
Ik ben juist mod_rewrite gaan gebruiken om beter geindexeerd te worden...