[TYPO3-UG Dutch] Zelf de sessie waarde uitlezen uit fe_typo_user cookie en die in de fe_sessions tabel zetten mogelijk?

Jordan van Bergen jordanvanbergen at gmail.com
Thu Dec 3 16:13:25 CET 2009


Dit wordt een aparte ;-)

Is het mogelijk via een eigen php script de sessie waarde uit te lezen
uit fe_typo_user cookie en die dan zo in de fe_sessions tabel te
zetten dat je eigenlijk iemand inlogt in het systeem met daarbij een
vaste usergroup etc. zonder dat men zelf handmatig via de website
ingelogd heeft? 

Het hele inlog proces wordt natuurlijk geregeld in:
typo3/sysext/cms/tslib/class.tslib_feuserauth.php

Ik wil echter zoiets als hieronder doen in een eigen kort php script:

// cookie uitlezen
$cookie_var = $_COOKIE['fe_typo_user']; 

// vaste velden voor fe_sessions tabel bepalen
$DBobj = new DB();
$ses_id=$cookie_var;
$ses_name= "fe_typo_user";
$ses_userid= "4";
$ses_tstamp= time();
$ses_data= " ";
$ses_iplock= "192.168";
$ses_hashlock= "8426832";
$ses_permanent= "1";

$qry = "INSERT INTO fe_sessions (ses_id, ses_name, ses_userid,
ses_tstamp, ses_data, ses_iplock, ses_hashlock, ses_permanent)".
 "VALUES
('".mysql_real_escape_string($ses_id)."','".mysql_real_escape_string($ses_name)."','".mysql_real_escape_string($ses_userid)."','".mysql_real_escape_string($ses_tstamp)."','".mysql_real_escape_string($ses_data)."','".mysql_real_escape_string($ses_iplock)."','".mysql_real_escape_string($ses_hashlock)."','".mysql_real_escape_string($ses_permanent)."')";
$result = mysql_query($qry);

Dus ik lees het sessieid uit de cookie uit en dat werkt. Daarna plaats
ik alle benodigde velden in de fe_sessions tabel met een vaste
usergroup etc. Dat gaat ook goed. Normaal gesproken ben je nu ingelogd
in typo3 omdat je sessie gelijk is aan die in de database en dan mag
je alles zien wat die bepaalde usergroup ook mag zien. 

Echter gebruik ik dus niet
typo3/sysext/cms/tslib/class.tslib_feuserauth.php
en wordt de waarde die ik in de database gezet heb er ook weer net zo
hard uitgedonderd waardoor je weer bent uitgelogd. 

Als ik zelf inlog met een bestaand account, de waarde in de database
opvraag, via een andere browser een ander sessie waarde uit de cookie
lees en de waarde in de database overschrijf met dit sessie id ben je
binnen deze browser sessie waarmee je nooit ingelogd bent als het ware
"toch ingelogd". Dit gaat dus goed als je een bestaande waarde in de
database overruled. Echter exact hetzelfde zelfstandig plaatsen in de
database heeft dit effect niet omdat bij het opvragen van een andere
pagina of dezelfde de waarde ook weer direct uit de tabel fe_sessions
wordt gegooid. 

Iemand een idee of bovenstaande wat ik wil mogelijk is?

Groeten,
Jordan van Bergen


More information about the TYPO3-UG-Dutch mailing list