wat doet phpbb met de sessies

Voor discussies rondom phpBB2. phpBB2 wordt niet meer ondersteund en deze berichten kunnen wellicht gedateerd zijn.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

wat doet phpbb met de sessies

Bericht door w0uter » 08 okt 2004, 22:26

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 ?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 08 okt 2004, 23:36

Waarom iets namaken wat al gedaan is? Gebruik simpelweg phpBB's functies. Hoe? Bekijk de Blank Page Template.

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 09 okt 2004, 09:29

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.

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 09 okt 2004, 12:03

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); 
?>

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 09 okt 2004, 12:54

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.

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 09 okt 2004, 15:48

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....

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 10 okt 2004, 17:27

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...

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 10 okt 2004, 18:50

Ik kwam het volgende tegen in sessions.php (kan helaas even niet het regel nummer geven want ik zit weer op me werk)

Code: Selecteer alles

$session_id = md5(uniqid($user_ip));
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 ?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 okt 2004, 00:08

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.

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 11 okt 2004, 12:07

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...

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 okt 2004, 13:42

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.

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 11 okt 2004, 15:34

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 :?

Gebruikersavatar
mosymuis
Berichten: 6940
Lid geworden op: 05 feb 2003, 14:00
Locatie: Amsterdam
Contacteer:

Bericht door mosymuis » 11 okt 2004, 16:55

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.

w0uter
Berichten: 27
Lid geworden op: 08 okt 2004, 22:21

Bericht door w0uter » 11 okt 2004, 17:46

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...

Gesloten