Passwordi u bazi podataka?

Kako u Php skripti ,ustvari u bazi podataka od iste saznati pasworde od korisnika pa i admina kada su predstavljeni u obliku kao kljuc za digitalni resiver (valjda je to heksadecimalni oblik )…da li postoji poseban program za to ili se u sklopu baze podataka u onom velikom spisku opcija gdje pise password moze enkriptirati isti …nesto sam pokusavao i nije islo …da li neko ima iskustva sa tim ?
Unaprijed hvala…

U tome i je najveća fora, što se nemože saznati trenutni password korisnika/admina jer prilikom spremanja u bazu on je kriptan. Najvise seto radi md5() , sha1() ili crypt() algoritmom. Prilikom logiranja, odnosno provjere ispravnosti passworda se ponovno unesena lozinka kripta nekim od navedenih algoritama i provjerava autentičnost s onom iz baze.

Slažem se sa tobom …ali zašto recimo Admin stranice nikako nemože vidjeti ni svoj pasword…i zašto nude nekih desetak opcija u Phpmy Admin za navodno dekriptovanje i time se kvari stvarna lozinka a da pritom izađe neka lozinka u vidu slova i brojeva ,baš nešto što podsjeća na pravu lozinku ?

Nemogu ti reci za Php My Admin nista pametno, osim da je pocetnicki i apsolutno dummy alat za administriranje MySQL-a. Osobno koristim Navicat for MySQL. Ima puno vise funkcija, jednostavniji je i oku ugodini. No ovo sto sam napisao u prethodnom postu apsolutno stoji.

zato jer bi to bila teška glupost da administrator može vidjeti sve passworde, Ja ne želim da nitko osim mene zna moju lozinku, samim tim ako administrator može viditi moju lozinku znači da ju i zna, može znati di sam još aktivan na kojim stranicama, i može mi raditi gluposti!
većina sustava je u md5 hashu, i od toga nema povratka, ako je lozinka prava (kombinacija brojki i slova) nitko ju neće moći samo tako dekriptirati, a ako ti je password, dinamo ili hajduk, onda ne zaslužuješ koristiti web (ne radi toga što za njih navijaš, nek zato jer je to extremno glup password)

finger up !

Nemozes nikako dobiti pasword ako je kriptiran u bazi, i kriptiran je sa razlogom, da admin ne vidi svacije passworde.

  • u svakoj boljoj bazi se kriptira tako da se izmjesa sa random generiranim stringom tako da iako postoje nacini da se md5 ili sha1 enkripcija razbije (moguce je ali treba duuugo vremena) opet ne znas sto je password…

npr…

$salt1 = “!”#$%&/()";
$salt2 = “?=)(/&%$/”;
$password = “tvojPassword”;

i prije nego se upise u bazu izmjesa se sa tim novim varijablama:

$s_password = sha1($salt1 . $password . $salt2);

tako da tesko da ces iskoristiti password koji vidis u bazi…

[quote=“Limeni”]Nemozes nikako dobiti pasword ako je kriptiran u bazi, i kriptiran je sa razlogom, da admin ne vidi svacije passworde.

  • u svakoj boljoj bazi se kriptira tako da se izmjesa sa random generiranim stringom tako da iako postoje nacini da se md5 ili sha1 enkripcija razbije (moguce je ali treba duuugo vremena) opet ne znas sto je password…

npr…

$salt1 = “!”#$%&/()";
$salt2 = “?=)(/&%$/”;
$password = “tvojPassword”;

i prije nego se upise u bazu izmjesa se sa tim novim varijablama:

$s_password = sha1($salt1 . $password . $salt2);

tako da tesko da ces iskoristiti password koji vidis u bazi…[/quote]

pa onda ni ti sam vise neznaš svoj password :kalashnik:

to je ok ako si zamislio tako da korisnik nemože odredit svoj password, već je on generiran od strane servera, pa čak i kad korisnik ode na opciju “izmjeni password” opet mu server generira novi…dakle u gornjem slučaju $password = “tvojPassword”; nema nikakvog smisla…spomenuti nacin bi korisnika tazio željeni password, pa kad bi korisnik upisao “dinamo” :smiley: u bazi bi dobio kodirani oblik stringa npr. !"#$%&/()dinamo?=)(/&%$/…pa ako korisnika ne obavijestiš da je njegov password !"#$%&/()dinamo?=)(/&%$/ onda ga vise nitko neće znati…a glupo je IMHO tražiti korisnika da upiše željeni password pa ga kasnije obavještavati da njegov password zapravo i nema veze sa onim što je on upisao…dakle ili o ova opcija da server uvjek i generira i obavještava korisnika o njegovom passwordu ili jednostavno provjeriš dužinu stringa i dali on sadržava i slova i brojke pa i specijalne ako baš treba i onda obzirom na postavljeni uvjet ili propuštaš ili odbijaš

mislim da je limeni pokusavao objasniti da kad ubacis u password te random stringove smanjujes mogucnost od probijanja passworda nekome tko pokusava brute force metodom (mislim da se tako zove) doci do tvog passworda.

dakle netko usporedjuje listu kriptiranih rijeci sa onim sto je u bazi, na toj listi je i rijec recimo Dinamo, u slucaju da je tebi pass dinamo on bi ga probio, ali u ovom slucaju kad imaju i ti rand stringovi izmjesani sa passwordom onda je malo teze pogoditi da se i to nadje na listi rijeci.

Namdam se da nisam previse zakomplicirao heh

[quote=“hori”]pa onda ni ti sam vise neznaš svoj password :kalashnik:

to je ok ako si zamislio tako da korisnik nemože odredit svoj password, već je on generiran od strane servera, pa čak i kad korisnik ode na opciju “izmjeni password” opet mu server generira novi…dakle u gornjem slučaju $password = “tvojPassword”; nema nikakvog smisla…spomenuti nacin bi korisnika tazio željeni password, pa kad bi korisnik upisao “dinamo” :smiley: u bazi bi dobio kodirani oblik stringa npr. !"#$%&/()dinamo?=)(/&%$/…pa ako korisnika ne obavijestiš da je njegov password !"#$%&/()dinamo?=)(/&%$/ onda ga vise nitko neće znati…a glupo je IMHO tražiti korisnika da upiše željeni password pa ga kasnije obavještavati da njegov password zapravo i nema veze sa onim što je on upisao…dakle ili o ova opcija da server uvjek i generira i obavještava korisnika o njegovom passwordu ili jednostavno provjeriš dužinu stringa i dali on sadržava i slova i brojke pa i specijalne ako baš treba i onda obzirom na postavljeni uvjet ili propuštaš ili odbijaš[/quote]

Znas svoj password zato sto si ga ti upisao.
Kad provjeravas koji je password od korisnika opet mjesas iste $salt varijable sa random stringovima i njegov password i dobijes isti string. Ako pises OO PHP nije ti problem promjeniti klasu u kojoj si spremio te $salt varijable. Neki kombiniraju $username sa $password sto opet moze biti predvidivo.
Taj string ne dolazi u obliku “!”#$%&/()DINAMO?=)(/&%$/" nego u obliku “ac6950cce2f51fee09737f492d1554ab5ea43cca” zato sto koristis sha1 ili md5 enkripciju.

Pogledaj mysql bazu od Wordpressa, ExpressionEnginea, Joomle, SilverStripe-a… bilo kojeg cms-a ili web app. Nigdje neces vidjet passworde spremljene u obliku u kojem ih je korisnik predao nego ce biti kriptirani koristeci md5 ili sha1 enkripciju zato da admini ne mogu bit prokleti i ljudima krasti passworde. A zato sto postoje stvari kao md5 rainbows s kojima mozes dekriptirat md5 string, onda im zakompliciras zivot tako da pomjesas $password sa random stringovima.

A password ces malo gdje moci dobiti na mail ako si ga zaboravio. Dobit ces mogucnost da ga resetiras, da dokazes da si ga ti otvorio i da si ti njegov vlasnik i da onda upises novi koji ce se opet pomjesati sa istim $salt varijablama. Zato postoje sigurnosna pitanja i raznorazne provjere da se dokaze da si ti vlasnik racuna.

Nisam to ja ni zamislio ni izmislio to je kako se treba radit. Ako si napravio jednu sigurnu login/register skriptu moras ovo znat.

kako mješaš iste $salt varijable ako su one generirane random?

nisam ni msilio da ces dobiti nazat stari password, vec novi opet generiran random…

moje iskustvo kaze string duzine 8 znakova (obavezno slovo i brojka) u duplom kodiranju md5+sha1 gotovo nepremostiva prepreka

He, he… vidim da si odradio domacu zadacu :slight_smile:
Nece se $salt generirati random na serveru, to je varijabla koja se sastoji od RANDOM znakova i koju spremis u klasu i uvijek koristis istu, i pri stvaranju passworda i pri provjeri kad ti korisnik preda svoj pasword “spojis” ga sa $salt i stavis sha1 ili md5 ili oboje i moras dobit isti string koji je u bazi, ako korisnik da isti password, ti imas isti salt i stavis istu enkripciju i to je to.

Treba imati na umu da se phpmyadmin vrti u brosweru.

to i je glavni problem svega, da se netko sjetio upgradeat tu verziju i prilozit neke fancy ajax komponente koje bi to sve ubrzale i napravili efektivnijim, puno bi to ljepse izgledalo a i vise bi bilo user friendly … ovako za svaku stvar treba refresh, sporo … dok kreiras tablicu i postavit odredjene parametre … izgubis 2 minute … dok recimo u Navicatu sve to rjesis u 20 sekundi. Velika usteda vremena i zivaca ako imas u bazi 50-100 tablica … i ako imas u svakoj tablici cca 10-15 rows …


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja