Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Prikaz zaboravljene lozinke

[es] :: PHP :: Prikaz zaboravljene lozinke

[ Pregleda: 7276 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

bobans72

Član broj: 314360
Poruke: 117



Profil

icon Prikaz zaboravljene lozinke30.05.2017. u 22:18 - pre 83 meseci
Pozdrav.

Da li neko zna kako da kada npr. korisnik unese u input box-u svoj mail koji se nalazi u tabli kada se registrovao a da dobije putem mail-a svoju dekriptovanu lozinku koja je u tabli enkriptovana u md5 ?
Evo dole koda kako sam ja mislio da bih trebalo da radi ali samo dobijem na mail (Vaša lozinka je: 2) ovo 2 je samo prvi karakter koji je enkriptovan u tabli a ostalo ne prikaže da mi bar prikaže celu enkriptovanu lozinku iz table pa bih možda uradio dekripciju ovako mi nije jasno šta dalje da radim, a potrebno mi je da prikaže dekriptovanu lozinku.
Ako može ispravka u ovom kodu ili šta već ?
Evo koda.

Code:

 <!DOCTYPE html>
<html>
<body>
<head>
<form action="" name="form1" method="post">
</tr>
<br/>
<td><label>Email:</label> <input type="text" title="Unesite vaš (E-mail) ..."  name="email"/></td>
</tr>
<td><input type="submit" name="submit" value="Primeni"/></td>
</tr>
</table>
</form>
<?php
$connection = mysqli_connect("localhost","root","","testbaza")
 or die("Ne mogu se povezati: ".mysqli_error($connection));
if(isset($_POST['submit'])) {   
$email = $_POST['email']; 
$strSQL = "SELECT lozinka FROM prijava WHERE email='".$email."'";
$query = mysqli_query($connection, $strSQL);
$result = mysqli_fetch_array($query);{ 
$lozinka = $result['lozinka'];    
require_once 'class.phpmailer.php';
$mail = new PHPMailer();
$mail->IsSMTP();
$mail->CharSet = 'UTF-8';
$mail->From = "[email protected]";
$mail->FromName = "Slanje lozinke";
$mail->AddAddress ($email);
$mail->IsHTML (true);
$mail->Subject = "Zaboravljena lozinka";
$mail->Body ="Vaša lozinka je: ".$lozinka['lozinka'];
$mail->SMTPDebug = 0;
$mail->Host = 'mail.mts.rs';
$mail->Port = 25;
$mail->SMTPAuth = true;
$mail->Username = 'test';
$mail->Password = '12345';
if(!$mail->Send()) {
echo 'Greška: ' . $mail->ErrorInfo;
}
else {
{
echo 'Dobili ste novu poruku na vaš e-mail !';
}
}

}
?>
</body>
</html>

Boban
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: Prikaz zaboravljene lozinke30.05.2017. u 22:36 - pre 83 meseci
U tom cijelom konceptu ima tol'ko puno grešaka...

1.


2. root bez lozinke

3. korišćenje root user-a

4. password-i u md5 enkripciji


Mislim da bi sve trebalo nanovo.


-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Prikaz zaboravljene lozinke30.05.2017. u 22:51 - pre 83 meseci
Iz md5 hash-a ne možeš da dobiješ original, što je i poenta.

Dakle, u tvom kodu ne radiš ništa pogrešno osim što pokušavaš da ispišeš lozinku koja je
u bazi verovatno blob (niz bajtova) pa onda dobijaš đubre u output-u (npr. samo prvi karakter).

Onaj koji je pravio bazu/sistem se verovatno razumeo u sigurnost bolje od tebe,
pošto je one-way hashing preporučen pristup kod čuvanja lozinki, tako da pozdravljam što je tako rađeno.

Dakle, ništa od dekripcije - zaboravi, treba ti drugačiji sistem kod zaboravljenih lozinki, pogledaj ovo:
https://security.stackexchange...-password-functionality/117871

Edit: Nisam se osvrtao na ostatak koda ali svakako debelo razmisli o ovome svemu što ti je napisao Tpojka,
sql injection, ako već nije kasno md5 zameniti boljom funkcijom...
 
Odgovor na temu

bobans72

Član broj: 314360
Poruke: 117



Profil

icon Re: Prikaz zaboravljene lozinke30.05.2017. u 23:03 - pre 83 meseci
Postoji username i password sasvim drugi a i konekcija nije na ovaj način postavljena nego pozivam na ovaj način: include("konekcija.php"); tako da su mi ostali glavni podaci u (konekcija.php) ovo je samo za primer (root) i bez passworda zašto bih za ovo bio važan username i password
meni je potrebno ovo drugo zbog čega sam postavio pitanje ovo sada nije važno.
A koja bih po vama bila kvalitetna enkripcija ?
Boban
 
Odgovor na temu

dusans
Stojanov Dušan
Pančevo

Član broj: 9551
Poruke: 1343
*.dynamic.sbb.rs.



+311 Profil

icon Re: Prikaz zaboravljene lozinke30.05.2017. u 23:07 - pre 83 meseci
Imaš ovde, lepo sročeno šta-kako-koje:
https://crackstation.net/hashing-security.htm
 
Odgovor na temu

Tpojka
Ratio, Logic

Član broj: 60114
Poruke: 209

ICQ: 491318095


+33 Profil

icon Re: Prikaz zaboravljene lozinke30.05.2017. u 23:27 - pre 83 meseci
Bcrypt (sa funkcijama password_hash() i password_verify()) je u neku ruku standardizovan sada.
Evo još neki primjeri korišćenja(Stackoverflow, Sitepoint).
K'o što je @dusans već pomen'o, i bcrypt k'o i md5 su hash-ovi a ne enkripcije.
Razlika je što se enkriptovan string može dekriptovati dok je hash one way ticket i hash se može samo uporediti ali ne i dobiti string iz kojeg je napravljen.

-A Tpojke su Đuro - šta?
-Osnovne jedinice diverzantskih grupa!
 
Odgovor na temu

bobans72

Član broj: 314360
Poruke: 117



Profil

icon Re: Prikaz zaboravljene lozinke30.05.2017. u 23:33 - pre 83 meseci
Neće prikazati ni kada sve što je ovo lozinka postavim (ime) pošto mi se i to nalazi u tabli ime korisnika je normalan tekst nije enkriptovan on prikaže isto samo jedan karakter samo prvo slovo tog imena.

I ja sam to isto pomislio da ne može da se dekriptuje pa sam probao sa normalnim tekstom koji nije enkriptovan ali isti prikaz u tabli je i ime i lozinka postavljeno kao VARCHAR a prilikom registracije kada se unese lozinka enkriptuje tekst na ovaj način / md5('$lozinka') / a prijava se vrši ovako / lozinka=md5('$lozinka') / i to sve lepo radi. Postoji sigurno neki način ali ne mogu da provalim koji.
Boban
 
Odgovor na temu

Predrag Supurovic
Pedja YT9TP
Užice

Član broj: 157129
Poruke: 6275

Sajt: pedja.supurovic.net


+1570 Profil

icon Re: Prikaz zaboravljene lozinke31.05.2017. u 08:32 - pre 83 meseci
Ti baš nećeš da pročitaš šta ti ljudi objašnjavaju?

MD5 nije enkripcija nego heš. To znači da od ulaznog podatka dobiješ neki broj koji je u funkciji od tog podataka i teoretski je jednistven - svaki ulazni podatak daje neki drugi broj.

Ne postoji način da od MD5 heša dobiješ nazad izvorni podatak. Sve što možeš to je da kada proveravaš lozinku, ono što korisnik ukuca kao lozinku preračunaš u MD5 i uporediš sa već sačuvanim MD5 od tačne lozinke.

Ako je korisnik zaboravio lozinku, sve što možeš to je da mu PROMENIŠ lozinku.

To si video na svim iole boljim sajtovima (al recimo na ES nije tako, ES čuva lozinke otvoreno baš tako kako si ti to zamislio, pa su već dva put pokradene sve lozinke). Klikneš na "zaboravio sam lozinku" i sajt ti na imejl pošalje link koji treba da klikneš da bi prokmenio lozinku. To se radi da bi sajt proverio da li si ti vlasnik naloga, jer ako imaš pristup imejlu vezanom za nalog onda jesi. Kada klikneš na link, ideš na posebnu stranu na kojoj sajt sada zna da to jesi ti i iako ne znaš lozinku dozvoli ti da je promeniš.

A to sa slanjem lozinke na imejl zaboravi. Srećom, taj koji pravi aplikaciju i bazu koje koristiš je znao kako treba da se radi.
 
Odgovor na temu

[es] :: PHP :: Prikaz zaboravljene lozinke

[ Pregleda: 7276 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.