| Menjava CMS - migracija uporabnikov (da/ne?) | ||
|---|---|---|
|
SlimDeluxe
9. feb 2012 08:28:45
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
#1
Pozdravljeni, Ne vem, kateri način je boljši. V obeh primerih bo nekaj slabe volje... Freelance Web Developer
|
|
|
technolog
9. feb 2012 08:44:44
Pridružen od: 14. nov 2011 598 objav 768 300 22 |
#2
V tabelo uporabniki dodaš polje isold_hash in normalno migriraš. Potem pa v CMSju preverjaš, če je isold_hash nastavljen in če je, uporabiš staro funkcijo. Nobene slabe volje s to rešitvijo. Seveda pa vse nove registracije delaš po ta novi hash funkciji. Z linuxom že 7 let. Pro web development.
|
|
|
SlimDeluxe
9. feb 2012 08:57:42
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
#3
Ja to bi nekako šlo. Samo pri tem imam pomislek glede varnosti, saj stari sistemi uporabljajo večinoma sha1 (ali celo md5), kar je precej zastarel/pomanjkljiv koncept preverjanja pristnosti (rainbow tabele). Ena od trgovin (oscommerce 2) je bila pred časom tudi shekana. Freelance Web Developer
|
|
|
technolog
9. feb 2012 09:28:40
Pridružen od: 14. nov 2011 598 objav 768 300 22 |
#4
No, potem pa tistim ki imajo isold_hash == true, ob loginu predstaviš okno z opcijsko nastavitvijo novega gesla (zraven pač napišeš da za voljo varnosti naj si zamenjajo geslo). Pomembno pa je, da ne nadleguješ strank s tem - vse mora bit opcijsko. Ko to naredijo jim daš isold_hash na nulo in jim hashiraš po novem algoritmu. In motiš se, da sta sha1 in md5 pomanjkliva - za to kar jih ti uporabljaš sta še vedno ne zlomljena. Pri md5 vem da je zlomljen samo colision resistance, to pa pri tebi ne pride v poštev. Z linuxom že 7 let. Pro web development.
|
|
|
SlimDeluxe
9. feb 2012 10:08:03
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
#5
Se strinjam, bom implementiral tako kot si opisal. Glede sha1, mislil sem na to, če je bila (ali bognedaj v prihodnosti bo) tabela uporabnikov odtujena lahko z rainbow tabelami dobijo string, ki ima enak hash rezultat. Freelance Web Developer
|
|
|
SpinX
9. feb 2012 12:54:39
Pridružen od: 17. mar 2007 2618 objav 1720 190 20 |
#6
Ravno te dni to delam. En lep notification pokazes in zahtevas password reset. Odvisno odplatforme, nekje lahko za to uporabis kar forgot password formo, samo v temi spremenis izpis. Nic hackanja cora, juzer dobi nov pass in vse je lepo secure. Developer? Bi delal v kul podjetju ? http://dlabs.si/jobs
|
|
|
SlimDeluxe
9. feb 2012 13:17:05
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
#7
Spinx, ti torej ne bi naredil podpore za kompatibilnost hashov ampak raje prislil uporabnike, da ponastavijo gesla? Freelance Web Developer
|
|
|
jurij123
9. feb 2012 14:21:37
Pridružen od: 20. nov 2010 572 objav 675 148 10 |
#8
To, da sta MD5 ali SHA1 pomankljiva se zdalec ni res. Pomankljiva je varnost tvojega CMS sistema in pa uporabnikovega gesla. Ce uporabniku zatezis za dovolj mocno geslo (npr. da vsebuje simbol) naredis ze dober korak. Da se malo pokomentiram nacine shranjevanja gesel se mi najbol neumen zdi nacin pass+salt, ker se ga itak brez problema dobi iz baze.Zdaj pa tudi 90% novih crackerjev vsebuje salt support. Idealn nacin za mene bi bil, da v config.php datoteki pustis nek daljsi master password(ki je drugačen na vsakem sajtu) in vsak password kriptiras z md5($master.$pass); Torej ce se ze napadalec dokoplje do baze prek SQL Injection-a ne bo mogel dešifrirati passworda brez master passworda, ki ga ni v bazi. Seveda bi se dalo zadevo zaobidet npr z load_file ampak verjamem, da je bolj varno kot pa plain md5. LP |
|
|
SpinX
9. feb 2012 14:39:00
Pridružen od: 17. mar 2007 2618 objav 1720 190 20 |
#9
Problem pri nas je še ta, da nimamo dostopa do baze in kode prejšnje platforme, vsak uporabnik pa ima svoj salt za geslo. Nimam kaj podpirat. Developer? Bi delal v kul podjetju ? http://dlabs.si/jobs
|
|
|
SlimDeluxe
9. feb 2012 14:41:14
Pridružen od: 29. apr 2010 1223 objav 1022 144 9 |
#10
Prosim da boljše prebereš in da ne obsojaš česar nisi niti videl. Nisem rekel, da sta MD5 ali SHA1 pomanjkljiva algoritma ampak sama po sebi pomanjkljiva pristopa za avtentikacijo. Rezultat zgoščevalne operacije, kljub vsem čira čara in byte shiftanju, bo vedno alfanumeričen string, katerega protivrednost dobiš s pomočjo rainbow tabele. To je offtopic, sprašujem zaradi uporabniškega vidika, zato tema ni v forumu "Programiranje". Freelance Web Developer
|
|