andrisp Posted June 9, 2008 Report Share Posted June 9, 2008 Kavacky, nujā, es redzēju, bet tu taču nevari paļauties uz to, ka ļaunais hakeris netiks pie koda ? :) Tāpēc man labāk patīk (sāku tā darīt tikai pavisam nesen) - taisu visparastāko saltu - kā arī piemetu klāt kaut kādu savu custom slepeno stringu (kas, protams, nav slepens, ja ir pieeja kodam :)). Link to comment Share on other sites More sharing options...
Aleksejs Posted June 9, 2008 Report Share Posted June 9, 2008 Par īsu tas sāls, manuprāt. No savas puses pārdomām ieteiktu vēl glabāt paroles hashu šifrētā veidā: $key_php=mysql_realescape(pack('H*','86b6de905bbee18b3425f7e5974c1cad7e24ec06a707a2766c5988c20ebc7337')); //šī būs šīs web aplikācijas slepenā atslēga. mysql_query("check_pw($uid,$parole, $key_php)"); //ar šo pārbauda, vai ievadīta pareiza parole mysql_query("set_pw($uid,$hash_parole,$sals,$key_php)");//ar šo uzstāda hashoto paroli un sāli Un attiecīgi MySQL pusē ir definētas šādas funkcijas: check_pw un set_pw, kurās definēta konstante: @mysql_key (piemēram, @mysql_key=0x76AE12FF168123812FAD23897423127631297612378127123129761237812712;), kura apvienojumā ar padoto $php_key dod šifrēšanas atslēgu: AES_ENCRYPT(@parole,AES_ENCRYPT(@mysql_key, @php_key)); AES_ENCRYPT(@sals,AES_ENCRYPT(@mysql_key,@php_key)); Ar pieejas tiesībām atļaut salt un password laukiem piekļūt tikai procedūras lietotājam, procedūru laist ar tās izveidotāja (vienīgā lietotāja, kam tiesības lasīt/rakstīt password/salt laukus) tiesībām, izmantojot lietotāju, kam ir tiesības laist tikai šīs divas procedūras, bet ne izpildīt patvaļīgus SQL pieprasījumus Tādā veidā - ļaundarim datu bāzes dati ir derīgi tikai un vienīgi, ja tiek dabūts arī PHP aplikācijas konfigurācijas fails un ja ir dabūta arī storētā funkcija, kurā ir SQL puses šifrēšanas atslēga. Link to comment Share on other sites More sharing options...
Klez Posted June 9, 2008 Report Share Posted June 9, 2008 paranojai veel shaadi hashojam pw: function mk_pw($parole) { $p = md5($parole); return md5(hash('sha1',hash('ripemd160', hash('sha256',hash('whirlpool',hash('snefru',$p)))))); } Link to comment Share on other sites More sharing options...
v3rb0 Posted June 9, 2008 Report Share Posted June 9, 2008 bet ja izmantotu openid, tad nevajadzētu info par parolēm jebkādā formā glabāt uz tāda servera, kuras db dumpi mēdz klejot riņķī pa netu. Link to comment Share on other sites More sharing options...
Klez Posted June 9, 2008 Report Share Posted June 9, 2008 vai arii serveri normaali nokonfigureet lai nevar dampot ko grib .. vai arii tikt pie backupiem .. Link to comment Share on other sites More sharing options...
Recommended Posts