Pereiti prie turinio

Rekomenduojami pranešimai

Sveiki, norėčiau išgirsti jūsų nuomonę, kaip Jus darote vartotojų registarvimąsį ir prisijungimą php svetainėse,kitaip tariant autorizaciją, naudojate cookies ar sesijas, kaip koduojate slaptažodžius, norėčiau išgirsti pliusus ir minusus. Iš anksto visiems dėkoju.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Sveiki, norėčiau išgirsti jūsų nuomonę, kaip Jus darote vartotojų registarvimąsį ir prisijungimą php svetainėse,kitaip tariant autorizaciją, naudojate cookies ar sesijas, kaip koduojate slaptažodžius, norėčiau išgirsti pliusus ir minusus. Iš anksto visiems dėkoju.

Sveikas. Bent jau aš kai rašiau paprastą registracijos sistemą, tai naudojau sesijas ir kodavau slaptažodžius md5+sha1 koduotėmis. :)

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Pats naudoju sha256 koduotę dažniausiai. :) Dar būtų galima pasižiūrėti scrypt ar bcrypt, tik jau reiktų daryti kokią captcha, kad neduotų vienu metu daug request'ų, nes kiek girdėjau, daug naudoja ram'ų tokie kodavimo algoritmai.

 

Prisijungimams naudoju sessions, o cookies tai nebent ilgiau informaciją kai reikia palaikyti. :)

Redagavo FaitasS
Nuoroda į pranešimą
Dalintis kituose puslapiuose

naudosiu ... md5 +sha1

NE.

NE.

NE.

 

Abi šios funkcijos yra greitos ir daugiau ar mažiau turi atrastų collisionų. (MD5, aišku, daug seniau sulaužyta...). Tai, kad pakombinuosi jas abi, vis tiek neduos nieko gero. Pasiėmus tavo duomenų bazę, su geru žodynu ar rainbow tables prasieiti per tokį paprastutį sha1(md5()) dalykėlį – sekundžių, blogiausiu atveju – poros minučių reikalas. Turint omeny, kad ne kiekvienas turi proto naudoti stiprų slaptažodį, kokią pusę jų išcrackintum būtent per tiek.

 

Naudok bcrypt, scrypt ar PBKDF2. Su unikaliais saltais, žinoma. Šios funkcijos specialiai yra sukurtos lėtos ir jas galima dar lėtinti padidinant ciklų skaičių. Įsilaužėlis užtruks daug ilgiau vien išcrackinti vieną slaptažodį, dar pridėkim unikalius saltus ir tai bus beveik neįmanoma, neturint valstybinių superkompiuterių ar begalės lėšų cloudams... :)

 

http://www.phptherightway.com/#password_hashing_with_bcrypt

 

pilnai uztenka md5 + salt, kam dar tie sha ar pan, ne banko tinklapi juk programuojate :)

Dėde, visiškas feispalmovičius. Kaip gali nerūpėti vartotojų saugumas? Na ir kas, jei tavo tinklalapis kažkoks nereikšmingas šūdukas, kas nors vis tiek pasidarys tokį pat slaptažodį, kaip ir jo emailas, facebookas, ar ir tas pats banko/paypal accountas...

 

MD5 yra TIEK sulūžus funkcija, kad suabejočiau net ar naudoti failų checksumams. O čia slaptažodžiams... Vienintelė tinkama reakcija.

Redagavo Silke
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Jei rūpi vartotojai, nenaudokite MD5, SHA1, SHA256 ir t.t. Šitie "hashinimo" algoritmai optimizuoti greičiui ir netinka "hashinti" slaptažodžiam. Pvz. naudojant Amazon EC2 infrastruktūrą galima gan pigiai tikrinti virš 100,000,000,000 "hashu" per sekundę. Druskos nuo "brute force" atakos taip pat nepadeda.

 

Naudokit bcrypt, tai visai nesudėtinga. Paprastas pvz. paimtas iš stackoverflow:

// Generuoja bcrypt hasha
function blowfish($password, $cost)
{
   // Random 22 simboliu druska, 
   $chars = './ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
   $salt = sprintf('$2a$%02d$', $cost);
   for ($i=0; $i < 22; $i++) $salt .= $chars[rand(0,63)];

   return crypt($password, $salt);
}

// Vietoj $hash = md5('password');
$hash = blowfish('password', 12);

// Vietoj if (md5('password') == $hash)
if (crypt('password', $hash) == $hash)

 

P.S. Nauja PHP versija (5.5) jau turės specialiai slaptažodžių "hashinimui" skirtas funkcijas, kurios pagal nutylėjimą naudos bcrypt - password_hash(), password_verify():

$hash = password_hash($password, 12);
if (password_verify($password, $hash)) {}

Redagavo alter
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...