dAivEd Posted July 18, 2008 Report Share Posted July 18, 2008 (edited) Rekur mana login sistema, man vajag pievienot pie vinjas cookies, lai katru reiz kad ienaak nebutu jaraksta NIKS un PAROLE, if(mysql_result($result,0,'COUNT(*)') == 1) <------------ Tipa pirms shita te visa vinsh teste datubaze vai ir tads lietotajs { $_SESSION['id'] = $id; setcookie("id", $id); <---- REKUR ES MEGINAJU IELIKT PATS BET NESANAK setcookie("nick", $nick); -||- setcookie("password", $password); -||- $laiks = "+15 mins"; $time = date('Y-m-d H:i:s', strtotime("$laiks", strtotime(date("Y-m-d H:i:s")))); mysql_query("UPDATE users SET last_login = '$time' WHERE id = '$id'"); mysql_query("UPDATE `users` SET `online` = 'y' WHERE `id` = '$id'"); header("location: index.php?page=$page"); } else { header("location: index.php?err=1"); } } if(!isset($_SESSION['id'])) { echo " <form method=post action=login.php?action=login> <table> <tr><td>Niks:</td><td><input type=text name=nick /></td></tr> <tr><td>Parole:</td><td><input type=password name=password /></td></tr> <tr><td></td><td><input type=submit value=Ielogoties /></td></tr> </table> </form> "; } TALAAAK IET TIPA, JA IR SESSIJA TAD RAADA MENU Ja kads zin luudzu palidziet :) Paldies! Edited July 18, 2008 by dAivEd Link to comment Share on other sites More sharing options...
test2 Posted July 18, 2008 Report Share Posted July 18, 2008 kukijam vajag norādīt arī laiku, pameklē tač guglē kā pareizi jātaisa kukījs LOLiķi! Link to comment Share on other sites More sharing options...
dAivEd Posted July 18, 2008 Author Report Share Posted July 18, 2008 (edited) kukijam vajag norādīt arī laiku, pameklē tač guglē kā pareizi jātaisa kukījs LOLiķi! tak es noraadu vienalga nekas nenotiek tipa time() +3600 pec mainiga $value, tipa cookies saglabajas es skatijos, bet vienalga ieeju un raada LOGIN un PAROLE Edited July 18, 2008 by dAivEd Link to comment Share on other sites More sharing options...
dAivEd Posted July 19, 2008 Author Report Share Posted July 19, 2008 Neviens nezin ? Link to comment Share on other sites More sharing options...
black Posted July 19, 2008 Report Share Posted July 19, 2008 Patiesībā, likt paroli kūkijā (plaintextā) ir stulba doma! Link to comment Share on other sites More sharing options...
Blackout Posted July 20, 2008 Report Share Posted July 20, 2008 Personīgi es daru šādi. Pie ielogošanās es uzgenerēju randomā 10 ciparu garu kodu kuru ievietoju lietotāja tabulā. Un taisu 2 cookijus, vienā lietotaajaid un otraa uzgenerēto kodu. Pie izlogošanās uzgenerēto kodu nodzēšu. Katra php faila sākumā lieku includi ar cookie pārbaudi.. Ja ir kookijs, tad pārbaudam vai sakrīt lietotāja id un lietotāja kods, ja jā tad ielogojamies.. Link to comment Share on other sites More sharing options...
andrisp Posted July 20, 2008 Report Share Posted July 20, 2008 Blackout, kāds labums, ja salīdzina ar "parastajām" php sesijām ? Jo ja nozagt varu vienu kukiju, tad 99.9% nozagt varēšu arī otru. Link to comment Share on other sites More sharing options...
black Posted July 20, 2008 Report Share Posted July 20, 2008 (edited) Labums ir tāds, ka tajā speciālājā cepumiņā var iekodēt arī papildus informāciju. To veidojam apmēram tā: md5(lietotājaId + lietotāja_ip_adrese + slepenais hash) Un, tā kā tiek izmantota IP adrese (var vēl pielikt browsera id), tad to izmantot uz citas sistēmas jau būs drusku grūtāk. Šo variantu parasti izmanto, lai supportētu 'remember me on this computer' pie ielogošanās. Edited July 20, 2008 by black Link to comment Share on other sites More sharing options...
andrisp Posted July 20, 2008 Report Share Posted July 20, 2008 black, bet to visu taču var arī glabāt server pusē. Link to comment Share on other sites More sharing options...
black Posted July 20, 2008 Report Share Posted July 20, 2008 (edited) Var, protams. Tas ir gaumes jautājums. Lielākām lapām varētu būt problēmas - ja sesijai expire uzliksi, teiksim, 2 nedēļas, un lapai ir pāris miljoni apmeklētāju, tad vajadzēs makten daudz vietas uz diska, kur sesijas tiks glabātas. Tas, protams, pieņemot, ka sesijā tiek likti arī citi dati. Edited July 20, 2008 by black Link to comment Share on other sites More sharing options...
Blackout Posted July 20, 2008 Report Share Posted July 20, 2008 Labums ir tāds, ka tajā speciālājā cepumiņā var iekodēt arī papildus informāciju. To veidojam apmēram tā: md5(lietotājaId + lietotāja_ip_adrese + slepenais hash) Un, tā kā tiek izmantota IP adrese (var vēl pielikt browsera id), tad to izmantot uz citas sistēmas jau būs drusku grūtāk. Šo variantu parasti izmanto, lai supportētu 'remember me on this computer' pie ielogošanās. Tieši tā..! :) Link to comment Share on other sites More sharing options...
test2 Posted July 20, 2008 Report Share Posted July 20, 2008 Labums ir tāds, ka tajā speciālājā cepumiņā var iekodēt arī papildus informāciju. To veidojam apmēram tā: md5(lietotājaId + lietotāja_ip_adrese + slepenais hash) Un, tā kā tiek izmantota IP adrese (var vēl pielikt browsera id), tad to izmantot uz citas sistēmas jau būs drusku grūtāk. Šo variantu parasti izmanto, lai supportētu 'remember me on this computer' pie ielogošanās. A ja es lietotāju paroles aizkodēju tikai ar md5, es varu slepenā hash vietā izmantot šo fciju, kas ģenerē rand kodu? function createRandomPassword() { $chars = "abcdefghijkmnopqrstuvwxyz023456789"; srand((double)microtime()*1000000); $i = 0; $pass = ''; while ($i <= 7) { $num = rand() % 33; $tmp = substr($chars, $num, 1); $pass = $pass . $tmp; $i++; } return $pass; } un tad mans kukījs izstītos: md5(lietotājaId + lietotāja_ip_adrese + createRandomPassword()) Tas būtu pietiekami droši? Link to comment Share on other sites More sharing options...
Aleksejs Posted July 21, 2008 Report Share Posted July 21, 2008 Jautājums "cik droši ir pietiekami droši" pie pietiekami dziļas izpētes kļūst par filo[z|s]ofisku jautājumu ;) http://www.lightbluetouchpaper.org/2008/05...ession-cookies/ http://php.lv/f/index.php?showtopic=10717&hl= Link to comment Share on other sites More sharing options...
black Posted July 21, 2008 Report Share Posted July 21, 2008 "md5(lietotājaId + lietotāja_ip_adrese + createRandomPassword())" diez vai derees - ja peedeejaa dalja ir random (un genereetaa random parole netiek saglabaata, piemeeram, lietotaaju tabulaa), tad peec tam nevareesi saliidzinaat, vai lietotaaja kuukijaa saglabaatais kods ir pareizs. Link to comment Share on other sites More sharing options...
test2 Posted July 21, 2008 Report Share Posted July 21, 2008 Nē nu ja es to visu lietotāja id + Ip +randompass pie logina inertoju lietotāju tabulā, laukā kukījs, un tad vnk visur kur tiek pieprasīts pārbaudu, vai tas kukījs i vienāds ar lietotāja tabulā esošu kukiju? Ta nevarēs? Link to comment Share on other sites More sharing options...
Recommended Posts