sessite - kak stawa
8 отговора
286 прегледа
sessite - kak stawa
znachi iskam na saita mi da izpolzwam sessite s cel razpoznawane na userite, opredeliane na towa dali daden user e glasuwal w anketata ili e napisal syobshtenie wyw foruma mi.
imam predstwa kak stawa towa, no imam slednoto pitane:
znachi az winagi triabwa da razprostraniawam SessionID-to po URl, za da ne se zagubi, ako usera e zabranil cookie-tata.
ako naistina toi e naprawil towa az razchitam samo na towa ID, koeto e w URL-to.
ta wyprosa mi e kak da opredelia dali towa e walidno ID, zashtot w protiwen sluchai usera shte moge da smenia ID-to si wyw wseki moment.
znachi imam slednoto:
session_start();
$sessID = session_id();
if( empty( $PHPSESSID ) && !empty($s))
{
niamam ID ot cookietata i triabwa da widia dali $s sydyrza walidno ID( blabla.php?s={SESSID-to mi};
kak da stane towa?
}
else
{
cookietata bachkat i weche imam walidno ID
}
znam che triabwa da se prawi i IP check, no ne mislia che w moia sluchai towa e nuzno
imam predstwa kak stawa towa, no imam slednoto pitane:
znachi az winagi triabwa da razprostraniawam SessionID-to po URl, za da ne se zagubi, ako usera e zabranil cookie-tata.
ako naistina toi e naprawil towa az razchitam samo na towa ID, koeto e w URL-to.
ta wyprosa mi e kak da opredelia dali towa e walidno ID, zashtot w protiwen sluchai usera shte moge da smenia ID-to si wyw wseki moment.
znachi imam slednoto:
session_start();
$sessID = session_id();
if( empty( $PHPSESSID ) && !empty($s))
{
niamam ID ot cookietata i triabwa da widia dali $s sydyrza walidno ID( blabla.php?s={SESSID-to mi};
kak da stane towa?
}
else
{
cookietata bachkat i weche imam walidno ID
}
znam che triabwa da se prawi i IP check, no ne mislia che w moia sluchai towa e nuzno
Re: sessite - kak stawa
Защо не пробваш следното: със всяка сесия мобеш да регистрираш и променливи, например IP
//ve4e si vzel IP adresa i si go zadal kato stoinost na $ip
session_start();
session_register("ip");
//ve4e si vzel IP adresa i si go zadal kato stoinost na $ip
session_start();
session_register("ip");
Re: sessite - kak stawa
hubawo de, ama ne wigdam towa kak shte mi pomogne da razbera dali e walidno ID-to na sesiata
...
Re: sessite - kak stawa
Значи първо: няма нужда да се притесняваш да прехвърляш ръчно SID-то на сесията - това става автоматично ако PHP-то е компилирано с --enable-trans-sid или session.use_trans_sid = 1 в php.ini файла. А тя по подразбиране е 1.
В зависимост от настройките по-нататък, PHP може първо да използва cookie, а ако е забранено, да го прехвърля по URL-to.
Второ: При присвояване на SID, SID-то се записва на сървъра, така че ако usera ти просто промени SID-to най-вероятно това няма да е валидна сесия и ти лесно ще можеш да разбереш това. Проблем може да възникне, ако някой си сложи SID-to на друг потребител, чиято сесия е все още валидна. Тогава вече е хубаво да го вържеш с IP-to, въпреки че и това не е 100% решение. Но както ти сам посочи, за твоя случай това не се налага.
В зависимост от настройките по-нататък, PHP може първо да използва cookie, а ако е забранено, да го прехвърля по URL-to.
Второ: При присвояване на SID, SID-то се записва на сървъра, така че ако usera ти просто промени SID-to най-вероятно това няма да е валидна сесия и ти лесно ще можеш да разбереш това. Проблем може да възникне, ако някой си сложи SID-to на друг потребител, чиято сесия е все още валидна. Тогава вече е хубаво да го вържеш с IP-to, въпреки че и това не е 100% решение. Но както ти сам посочи, за твоя случай това не се налага.
Re: sessite - kak stawa
kakvo pravia az za otvorkovci koito polzvat chujd session id
v database pazia sid zaedno s IP,
imam edna funkcia demand koiato mi proveria za expire.
v neia ima proverka dali tazi sessia e sus sushtoto IP koeto e zapisano predi i updatevam lastaction poleto koeto mi sluji za expire.
v momenta v koito IPta sa razlichni , zatrivash tezi sid-ove v database-a i ritash usera kum login stranica i mu generirash nov sid za negovoto IP.
edinstven problem moje da vaznikne s proxy-ta koito ne davat x_forwarded_to adresa.
puffff
v database pazia sid zaedno s IP,
imam edna funkcia demand koiato mi proveria za expire.
v neia ima proverka dali tazi sessia e sus sushtoto IP koeto e zapisano predi i updatevam lastaction poleto koeto mi sluji za expire.
v momenta v koito IPta sa razlichni , zatrivash tezi sid-ove v database-a i ritash usera kum login stranica i mu generirash nov sid za negovoto IP.
edinstven problem moje da vaznikne s proxy-ta koito ne davat x_forwarded_to adresa.
puffff
Re: sessite - kak stawa
wow...towa ne zwuchi mnogo priatno:-(....
a towa za php.ini-to go znam... az sym na platen host i tam ne e wkliuchena opciata za popylwane na SID-a awtomatichno:-(
a towa za php.ini-to go znam... az sym na platen host i tam ne e wkliuchena opciata za popylwane na SID-a awtomatichno:-(
Re: sessite - kak stawa
nai dobroto reshenie e da zabravish za tezi otvorkovci koito zabraniavat cookie kat iskat neshto shte vdignat zabranata, generirai session normalno kato horata i ne se pritesniavai za tova.
v IE po default zabraneni samo 3rd party cookies, ta niama da imash problemi.
puffff
v IE po default zabraneni samo 3rd party cookies, ta niama da imash problemi.
puffff
Re: sessite - kak stawa
i az si misleh za tozi wariant....proweriawam dali sa zabraneni session cookoietata i, ako sa, kazam na user-a, che za da razgleda saita, triabwa da si pusne cookietata...wigdal sym takiwa saitowe.
naprimer [линк] e taka - ako sa ti zabraneni session cookietata, ne te puska da se lognesh
naprimer [линк] e taka - ako sa ti zabraneni session cookietata, ne te puska da se lognesh