Jump to content
php.lv forumi

anonīms

Reģistrētie lietotāji
  • Posts

    1,796
  • Joined

  • Last visited

Everything posted by anonīms

  1. $user_data neko neatgriež. echo $user_data[0] tukšs, print_r ar neko nerāda. EDIT: tagad ieraudzīju tavu editu. dodos skatīties /!\ Nu jā uid, bet vaitad viņš nedarbojas tika tajā post laikā, jo izmantots jau tiek tikai tad, kad tiek padots caur funkciju fja(uid)
  2. un kā man to uid iegūt? ja pašlaik tiek izmantots function checkLogin(){ if(isset($_COOKIE['MWCUPS-AUTH'])){ $result = checktoken($_COOKIE['MWCUPS-AUTH'],$user_data); if(7==$result){ return true; exit(); } } } jo reāli sanāk, ka tas id taču nemētājas nekur pa gaisu (ne sesijā, ne cepumā)
  3. Jā, tagad strādā, vēl tikai mazs sīkums... kā man izvilkt lietotāja datus? select from where kkas = $kkas? ko ņemt tajā kkas? kā sapratu, tad saltu nedrīkst
  4. Nē, 949a0ed...... a problēma nevarētu būt tad, kad vēl tiek veidots tikai tokens? maketoken. teiksim kkur šeit, kur tiek savādāk kkas samontēts: $data=$uid.','.bin2hex($parole) .','.intval($autorenew).','.intval($expire). ','.ip2long($_SERVER['REMOTE_ADDR']) . ',' . bin2hex($info);//info - papildus mainīgie utt, kas jāsaglabā no vienas lapas uz otru
  5. tāpat izmet man return 5. Kur un kā tie iegūts tas xmas[1]? Vnk no db izvilkts? EDIT: sapratu kā tie iegūts xmas (no cepuma $mm, kurš tiek savukārt iegūts no cepuma) bet nu tāpat netiku skaidrībā kapēc met return 5 EDIT: 2 a kas tas par $user_data? 202 rinda. tur gadījumā nevajag kādu datu no db? EDIT: 3 echo $mas rāda tukšumu... tad iespējams vaina ir tur, tik ko likt $user_data vietā? EDIT: 4. Galvenais jautājums... kā īsti parbauda vai ir ielogojies vai nav? tiek izmantots cepums un viņš tiek salīdzināts ar ko? cepums == salt? vai kā tur notiek? Nu principā man ir tikai jāzin vai teiksim ielogojoties arī db nevajag nomainīt saltu
  6. Nu pašlaik esmu ticis tik tālu: http://paste.php.lv/eebd605fd4d19d841acfe78e63b76139?lang=php Kods kā tāds aiziet normāli līdz pat login pārbaudei, kur esmu nedaudz apjucis.. if(!check_pw($mas[0],hash('sha512',pack('H*',$mas[1]).pack('H*',$salt),false))){ return 5;//nepareiza parole - ļoti savādi!!! Laikam nomainīta parole } līdz šai rindai viss ok.. bet nu kā man izlabot šīs rindiņas (saprotu, ka lieks tur ir hash(), bet kā man izveidot, lai pārbauda ar manu pw()?
  7. Un ko man iesākt tagad? function check_submitted_pw($username,$password,$autorenew){ global $remember; $authenticated = false; $uid=get_uid($username); //echo "|$uid|"; if('' != $uid){ $salt=get_salt($uid); //echo "|$salt|"; if('' != $salt){ $salt=pack('H*',$salt); $parole = make_password($salt,$password); $parbaudama_parole = hash('sha512',$parole . $salt,false); if(check_pw($uid,$parbaudama_parole)){ $authenticated = maketoken($uid,$parole,$autorenew,mktime()+$remember,'');//izveidojam vērtību, kas derīga $remember sekundes } else { //echo "necheck pw"; } } else { //echo "ne salt"; } } else { //echo "ne uid"; } return $authenticated; } precīzāk jau tieši paroles pārbaude (jo man pw tika savadāk ģenerēta un tagad šķiet, ka sanāk, ka visas pw, kas ir db varētu būt nederīgas). ? EDIT: šķiet, ka man vnk nepieciešams šādi, ne? $authenticated = maketoken($uid,pw($parole),$autorenew,mktime()+$remember,'');//izveidojam vērtību, kas derīga $remember sekundes jo reāli tagad pw nav ar saltu, bet ģenerētas ar pw() fju. Tātad pārbaudu vai db pw sakrīt ar post pw un tad maketoken'u taisu.
  8. tad man ir nepieciešams lietot checktoken un maketoken funkcijas?
  9. tad reāli sanāk, ja man jāpārveido savu patreizējo paroles veidošanas funkciju un tas tad arī viss būs "ok"? http://paste.php.lv/11f79af9d0bff1b6261aaad9fcfb4f0c?lang=php <- patreizējā f-ja. Un jā - kā tad jauno pw uzstādīt lietotājiem, kas jau ir reģistrēti, bet kuriem vēl nav salts?
  10. Meklēju googlē aptuveni pēc titles keywordiem, bet nevarēju atrast. Lietotāja statistika (Skatījušies vēl): http://paste.php.lv/ec0e5ad22ed5193c64f353c8768396d3?lang=php Parāda iepriekšējo dienu tava profila apmeklētājus. ------------- Ka ir iespējams izveidot, lai, ja teiksim lietotājs ir skatījies mani aizvakar, aizaizvakar, tad rāda pēdējo apmeklējumu? Atceros, ka te tas tika runāts, bet nevarēju atrast. (tur kkas bija ar IN(1,2) kaut kas uz to pusi)
  11. Sķiet, ka viss izdevās. Jaunas logins ar cepumiem: http://paste.php.lv/58a33177f23eecceb6d898d2c9d3222a/nonum Gribētos tagad zināt vai no drošības puses nevajag neko pielikt vai atņemt? (galvenokārt jau fjā checklogin()) Paldies Aleksejam.
  12. ok, salts tagad ir ok :] mēģināšu taisīt pārējo.
  13. nu update salt = bin2hex($salt) Db tas parādas kā Iepsējams es kko esmu nepareizi sapratis...
  14. nu tajā uid neko nevarēs ierakstīt, jo tas id tiks padots bišk savādāk.. Tāk, nu esmu saskāries ar pirmo ķibeli. $salta_parbaude = mysql_fetch_assoc($parbaude_vai_ok); if(empty($salta_parbaude['salt'])) { $salt = make_salt(); mysql_query("UPDATE ".PREFIX."lietotaji SET salt = '".$salt."' WHERE lietotajvards = '".mysql_real_escape_string($_POST['user'])."'") or die(mysql_error()); } tikai vēl testēju to salt. tas nav gala iznākums.. Tātad salt ir char(128) bet ir tā, ka tas salts paliek tukšs.. function make_salt(){ $salt=''; for($x=0;$x<64;$x++){ $salt.=chr(mt_rand(0,255)); //ģenerējam sāli ar garumu 512b } return $salt; } db paliek tukšs.. iznākums tam $salt sanāk: aU?OQgۍtsP!Xav4Scgj!Ml0oD5PB֎DXċW
  15. EDIT: un jā. varētu paskadrot kapēc ir domāta tāda get_salt f-ja? kapēc teiksim nevar vnk select salt from lietotaji where id = ? ? piemērs: function get_salt($uid){ $q = mysql_result(mysql_query("SELECT salt FROM users WHERE id = '".$uid."' LIMIT 1"),0,0); return $q; }
  16. un teiksim, ja man jau ir reģistrēti pārsimts lietotāji, tad tiem, kuri jau ir reģistrējušies es pie logina varu pārbaudit if(empty(salts) { uzģenerējam saltu } vai arī man savādāk jau reģistrētajiem viņu pielikt? EDIT: un jā. varētu paskadrot kapēc ir domāta tāda get_salt f-ja? kapēc teiksim nevar vnk select salt from lietotaji where id = ? ?
  17. lēnām pētot kodu viens ātrs jautājums.. kā tie ģenerēts šis salts? lietotājam reģistrējoties vai ielogojoties? (neesmu vēl failus pētijis, veidoju tik db struktūru)
  18. Tātad nepieciešams pāriet no sesijām uz cepumiem, lai var izmantot remeber me f-ju un galvenais, lai tas viss būtu droši. Tagadējās kods: http://paste.php.lv/d3bb0ea8381fd87dca541c3b0c6188e4?lang=php Kas nepieciešams, lai pārietu uz cepumiem? Cik esmu dzirdējis vajag db izveidot vēl papildus kollonu, cookie_hash vai kko tādu, bet īsti nezinu kam tas domāts. googlē meklēju, bet tur ir pārāk daudz liekā (praktiski visi veidoti ar klasēm) un php.lv neatradu. Gaidu ierosinājumus kā pāriet uz cepumiem un galvenais, lai tas būtu droši.
  19. i'm new guy. Tātad ir kods faila sākumā <script type="text/javascript"> $("#PLAY_NOW_LIST").load("include/PLAY_NOW/list.php"); </script> EDIT: kam negadās... :] <script type="text/javascript"> $(document).ready(function(){ $("#PLAY_NOW_LIST").load("include/PLAY_NOW/list.php"); }); </script> var vērt ciet
  20. select * from lietotaji where id = $_GET['id'] //kverijs
  21. pašlaik izmantoju šo: function cut($text,$cik_burti) { // Change to the number of characters you want to display $chars = $cik_burti; $text = $text." "; $text = substr($text,0,$chars); $text = substr($text,0,strrpos($text,' ')); return $text; } bet viņš noīsina pa vārdam nevis burtiem (viņš nenošķeļ teiksim vārdu uz "trusis" uz "tru" bet vispār to vārdu nogriež... Kā dabūt, lai nogriež kā ar skalpeli nevis novāc visu vārdu?
  22. izmantoju fju strim. viss iet. paldies
  23. Visiem skaidrs kam ir domāts if(empty($lauks)). Nepatīk man tas, ka iemetot laukā kaut vai vienu atstarpi (space), lauks vairs netiek uzskatīts kā tukšs. kā varētu dabūt gatavu, lai uzskata, ka lauks ir tukšs kaut arī būtu saspiesti 100 space? Paldies!
  24. <div style='clear:both;'></div> Kapēc? Tapēc, ka tev bildi flaotojas.
×
×
  • Create New...