Jump to content
php.lv forumi

Recommended Posts

Posted

Iesakiet, kā vislabāk kodēt datubāzē paroles? Bija doma izmantot md5(), bet pēc tam tad nevar no administrācijas paneļa paskatīties kāda lietotājam parole, arī vēlāk ar paroļu atgriešanu uz pastkastīti būs problēmas..

 

bija doma izveidot str_replace() savu sakarību, bet man kautkā neiet.

 

Kādi būtu jūsu ieteikumi?

Posted

Viennozīmīgi md5 (var arī sha1 vai kādu citu skarīgu hešfunkciju) + sāls. Adminam nav jālūr lietotāju paroles. Nevienam tās nav jālūr.

A bet paroļu "atgriešanu" lietotājam vajag aizstāt ar paroles noresetošanu, paprasot lietotājam ievadīt jaunu pēc kautkāda unikāla linka, kas šim uz mailu aizsūtīts.

Posted (edited)

Nejau lūrēšanā ir nozīme.. :)

Pieņemsim, ja man vajadzēs lietotājam paroli izsūtīt caur sms-servisu, kā one.lv?

Edited by Maaren
Posted
Pieņemsim, ja man vajadzēs lietotājam paroli izsūtīt caur sms-servisu, kā one.lv?

nu a kur problema ?

useris kad registrejas, ievada paroli .. kamer vinsh vel nav atstajis sistemu . nosuuti SMS ..

Ja parole pazaudeta, tad Uzgeneree jaunu un to nosuuti .... pashu paroli saglabajot DB, ar MD5 ...

---

Tas nav normali kad Administracija var redzeet usera paroles...

Posted

Neiet runa jau par to vai kāds skatīsies tās paroles. Es nemaz netaisos lūrēt.

 

Ar to ģenerēšanu arī ir tā kā ir. Pieņemsim, ja kāds ļaundaris zinot manu mobīlā telefona numuru sāks man ģenerēt paroles? Un ja numurs ir nomainijies? Tad skaiti paroli vispār nebūs iespējams atgriest.

Posted

Sūti nevis jaunu paroli, bet randomā uzģenerētu linku, kurš derīgs teiksim tikai 10 minūtes (tipa http://tava_lapa.lv/reset_password.php?id=1237918237). Un šajā linkā tad arī prasi ievadīt jauno paroli. Lai tad arī ļaundaris sāk pieprasīt paroles resetošanu - ja viņš netiks klāt tavam epastam/telefonam, tad viņš nevarēs noresetot paroli, tikai panāks to, ka uz tavu epastu/sms atnāks kaudze ar ziņām par resetošanas linkiem. Uzliec vēl limitu - teiksim stundas laikā max 2 reseti var būt un nebūs nekādu problēmu.

Posted (edited)

Īsti vīri paroles nehešo.

 

Noņem paroļu tabulai visas permisijas userim, kurš no php slēdzas mysql.

Izveido mysql funkcijas, kuras veic darbu ar paroļu tabulu.

Edited by codez
Posted

Man liekas, ka notikumi pēdējā laikā ir neapgāžami pierādījuši, ka riskēt glabāt paroles nehešotas/nenokodētas, būtu lielākais stulbums, ko vien kāds varētu izdomāt. ;)

Posted

man liekas ka shitaads kodeeshana buutu pietiekama ...

function mk_pw($parole)
{
 $p = md5($parole);
 $salt = substr($p,0,8);
 return md5($p . $salt);
}

tiekot pie DB dump un netiekot pie koda, kas paroli taisa, tad ar tiem md5 var dariit ko grib, jo no vinjiem neko nevar atkodeet ...

un salts arii neglabaajas db, taa kaa "lielajam" hakerim pat nav nosjausmas, ka parolei ir saals ..)

taas manas domas . ko citi domaa?

Posted

Klez, tavā variantā tas salts īsti nepilda savu misiju - tas ir - salts parasti panāk to, ka laušana ar vārdnīcas palīdzību paliek daudz grūtāka, jo katrai parolei atsevišķi ir jāģenerē katra vārdnīcas vārda md5 strings. Tavā gadijumā, ja es zinu (kā lauzējs, kas tikko dabūjis tavas paroles un piekļuvi kodam), ka tu izmanto šadu aizkodēšanas metodi, tad no tā tava salta vairs jēgas nav nekādas.

Posted

Kad no salt ir jēga piekļūstot gan kodam, gan DB? Es izmantoju šādu triku:

	/**
* @desc Atgriež paroli ar salt + md5()
* @param $pass string
* @param $newPass boolean Vai ģenerēt jaunu paroli? (reminderam)
* @param $newPassLen int Jaunās paroles simbolu skaits
* @return void
* @version 0.1
*/
function password($pass,$newPass = false,$newPassLen = 5)
{		
	if ($newPass) {
		return substr(md5('salt'.time().'salt2'.time()),0,$newPassLen);
	}
	return md5('salt'.$pass.'salt2'.$pass);
} /* password */
/**************************************************************************/

Posted
Tavā gadijumā, ja es zinu (kā lauzējs, kas tikko dabūjis tavas paroles un piekļuvi kodam), ka tu izmanto šadu aizkodēšanas metodi, tad no tā tava salta vairs jēgas nav nekādas.
tiekot pie DB dump un netiekot pie koda, kas paroli taisa, tad ar tiem md5 var dariit ko grib, jo no vinjiem neko nevar atkodeet ...
×
×
  • Create New...