daGrevis Posted April 11, 2010 Report Share Posted April 11, 2010 Labrīt, Es savām vajadzībām, vairāk jau treniņam, veidoju reģistrācijas sistēmu. Saskāros ar problēmu, ka, ja lietotājs, ielogošanās procesā, ir atķeksējis 'Remember me!', tiek izveidoti cepumi, lai pēc tam lietotājs, kad pārlūks jau būtu haotiski vērts vaļā un ciet 10'iem reižu, atkal būtu ielogojies. Tik tāl vēl nav problēma, nē... :D Viss standartā balstās uz sesijām, un tagad rodās jautājums. Ja skripts konstatē, ka sesiju nav, bet ir cepumi, skriptam "turpināt dzīvot", tas ir darboties uz cepumiem, vai kaut kā definēt sesijas, lai viņš standartā atkal darbotos uz sesijām... Ko sakāt? :) Un jā, šo problēmu konstatēju, jo 'index.php' lapā biju uzrakstījis... <?php echo $_SESSION['user__username']; ?> Un nez kā tas varētu darboties, ja nav sesijas, bet ir cepumi... :D Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 11, 2010 Author Report Share Posted April 11, 2010 Nu protams pastāv vēl tāds variants, kas liekas stulbs... :D <?php if(isSet($_SESSION['user__username'])) { echo $_SESSION['user__username']; } else { echo $_COOKIE['user__username']; } ?> Quote Link to comment Share on other sites More sharing options...
briedis Posted April 11, 2010 Report Share Posted April 11, 2010 Nesapratu. Nevar būt sesijas, ja nav cepumi (nu var būt, bet tad tur kabinās saitēm klāt sesid). Cepumā tiek glabāt sesijas identifikators, kas norāda, ka šim lietotājam ir šī attiecīgā sesija. (Tāpēc, ja kāds tev nozags cepumu, viņš var uzdoties par tevis, cerams, ka to zini. Pagūglē: "session hijacking") Nezinu vai sesijā vajag glabāt daudz lietotāja datus, jo var vienkārši galbāt kaut kādu vienu lietotāja ID un pēc tā atlasīt vajadzīgos datus. Ņem vērā, ka cepumiem lietotājs pats var piekļūt, labot kā tīk, bet sessijas datiem nevar, jo tie glabājas uz servera. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 11, 2010 Author Report Share Posted April 11, 2010 Nu varbūt nepareizi izteicos. Vai nu es glabāju lietotājvārdu un hešotu paroli cepumos (divos), ja ir aktivizēta "Remember me!" funkcija, vai nu ir leiotājvārds glabāts sesijā. Es laikam daru ko hroniski nepareizi... :D Quote Link to comment Share on other sites More sharing options...
briedis Posted April 11, 2010 Report Share Posted April 11, 2010 (edited) Ja ir cepumi Ja ir uzstādīta sesija, pārbaudam, vai viņa nav viltota (vai nav zagta). Viss ok, turpinam darbu. Ja nav uzstādīta sesija, uzstādam, ielasam datus, turpinam darbu. Nav cepumi -> Paziņojam, ka tālāk bez cepumiem nav ko darīt :) Ja ir Remember me, uzliekam sesijas identifikatora cepumam lielāku taimautu (defaultā viņš ir līdz pārlūka aizvēršanas brīdim, tad dzēšas cepums) Gūglē pēc šī: php session cookie timeout Paroli nebūtu prātīgi glabāt cepumā. Vispār neko vērtīgu cepumos nevar glabāt, jo kā teicu, lietotājs to var brīvi rediģēt utt. Sesijā ieteicams vēl glabāt teiksim, lietotāja USER_AGENT, lai pārbaudīt, vai šī sesija nav zagta. Edited April 11, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
waplet Posted April 11, 2010 Report Share Posted April 11, 2010 Da lol.?D Ko tu dari? Tu man skaipā paprasīji es tev atbildēji vēl pastāštīju kas un kā? bet nē , tur tomēŗ ņem un domā čerez žopu variantus? Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 11, 2010 Author Report Share Posted April 11, 2010 Ja ir cepumi Ja ir uzstādīta sesija, pārbaudam, vai viņa nav viltota (vai nav zagta). Viss ok, turpinam darbu. Ja nav uzstādīta sesija, uzstādam, ielasam datus, turpinam darbu. Sesijā glabājās SID? :) Quote Link to comment Share on other sites More sharing options...
briedis Posted April 11, 2010 Report Share Posted April 11, 2010 Sesijā glabājās SID? :) Kam tev gūgle, ka nevari pats noskaidrot? Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 11, 2010 Author Report Share Posted April 11, 2010 Nu re, ok... :) Paguglēšos. :) Quote Link to comment Share on other sites More sharing options...
Kemito Posted April 11, 2010 Report Share Posted April 11, 2010 NAV CEPUMU NAV SESSIJU! Quote Link to comment Share on other sites More sharing options...
pilots Posted April 11, 2010 Report Share Posted April 11, 2010 (edited) Ja ir cepumi Ja ir uzstādīta sesija, pārbaudam, vai viņa nav viltota (vai nav zagta). Viss ok, turpinam darbu. Ja nav uzstādīta sesija, uzstādam, ielasam datus, turpinam darbu. Nav cepumi -> Paziņojam, ka tālāk bez cepumiem nav ko darīt :) Vai loģiskāk nebūtu: Ja ir sesija{viss ok, turpinam darbu sistēmā} Ja nav sesija{ a. ja atrod cepumu, veido sesiju.. paliekam sistēmā // vai.. b. ja nav cepuma, prasam autorizēties } Edited April 11, 2010 by pilots Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 11, 2010 Author Report Share Posted April 11, 2010 Nu to es arī prasīju... Vienkārši nemācēju izteikties... ja atrod cepumu, veido sesiju.. paliekam sistēmā Vai palikt un darboties uz cepumiem, vai veidot sesiju... Paldies. Tomēr nekas nav tik hroniski nepareizi! :) Quote Link to comment Share on other sites More sharing options...
briedis Posted April 11, 2010 Report Share Posted April 11, 2010 Darboties ar cepumiem vai veidot sesiju, TAS IR VIENS UN TAS PATS. Tikai, cepumus redz lietotājs, bet sesijas datus neredz. Tikai sesijas identifikatoru, kas ir vienā cepumā. Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted April 11, 2010 Report Share Posted April 11, 2010 Nu, vēl ir iespēja glabāt visu šifrētā veidā cookijā un pie ccokija saņemšanas atšifrēt. Kā šāda sistēma darbojas - var apskatīties te: http://php.lv/f/topic/11116-lietotaju-autentificesana/ Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.