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

Promena CryptedPass preko php

[es] :: PHP :: Promena CryptedPass preko php

[ Pregleda: 1683 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Flo
Ivan Penčić
Beograd

Član broj: 41881
Poruke: 64
*.dynamic.isp.telekom.rs.



Profil

icon Promena CryptedPass preko php26.10.2012. u 13:06 - pre 139 meseci
Imam jedan problem oko promene lozinke korisnika.
napravio sam formu za izmenu podataka i izgleda ovako:
Code:

<form action="korisnici-izmena-db.php" method="post">
<input type="hidden" name="ID" value="<?php echo $korisnici->ID; ?>" />
            
<input name="ime" type="text" id="ime" value="<?php echo $korisnici->ime; ?>" size="28" />
<input name="username" type="text" id="username" value="<?php echo $korisnici->username; ?>" size="28" />
<input name="email" type="text" id="komercijalna24" value="<?php echo $korisnici->email; ?>" size="28" />
<input name="telefon" type="text" id="telefon" value="<?php echo $korisnici->telefon; ?>" size="28" />
<button type="submit">Izmeni podatke</button></p>
</form>

stranica "korisnici-izmena-db.php" izgleda ovako:
Code:

<?php

// Povezivanje na server BP
$DB = mysql_connect('moj_server', 'korisnicko_ime', 'lozinka');
if (!$DB) die('Problem sa povezivanjem na server BP.');

// Izbor radne BP
if (!mysql_select_db('ime_baze')) die('Problem sa izborom radne BP.');

// Normalizacija ulaznih podataka
$ID = (int) $_REQUEST['ID'];
$ime = mysql_real_escape_string($_REQUEST['ime']);
$username = mysql_real_escape_string($_REQUEST['username']);
$email = mysql_real_escape_string($_REQUEST['email']);
$telefon = mysql_real_escape_string($_REQUEST['telefon']);


// Formiranje upita i izmena podataka korisnika
$Upit = "update korisnici set ime='$ime', username='$username', email='$email', telefon='$telefon' where ID=$ID;";
$Rezultat = mysql_query($Upit, $DB);
if (mysql_error($DB)) die(mysql_error($DB));

// Preusmeravanje korisnika na index.php
die(header('Location: index.php'));

?>

U bazi podataka imam i kolonu CryptedPass gde je smestena lozinka koju hocu da takodje namestim da moze da se promeni.
znaci da napravim stranicu gde ce se uneti trenutna zatim uneti nova lozinka i usnimiti.
Unapred zahvalan
Pencha
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Promena CryptedPass preko php26.10.2012. u 18:58 - pre 139 meseci
Kriptovanu lozinku za upis u bazu generišeš na isti način kao kada se korisnik registrovao na sajt.
Za dodavanje u bazu podataka koristiš istu metodu kao sa primera iznad (samo što prvo kriptuješ lozinku nekom svojom metodom, za koju nisi stavio primer). Dakle, kada se registruje koristiš INSERT, kada menja lozinku UPDATE i to je to.

Inače, ova forma ti uopšte nije sigurna. Jedan od propusta:
mogu ručno izmeniti ID korisnika (hidden polje) i promeniti bilo čije podatke.

Takođe, dobro je koristiti trim() funkciju za svaki request.
I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

dalibor991
Dalibor Menkovic
Beograd

Član broj: 307718
Poruke: 7
*.adsl-1.sezampro.rs.



Profil

icon Re: Promena CryptedPass preko php15.11.2012. u 02:06 - pre 139 meseci
K'o sto ivan.a rece ovo ti nije sigurno ali pitanje nije da li je sigurno ili ne

Code:

$stari_pass = $_REQUEST['stari_pass'];
$novi_pass = $_REQUEST['novi_pass'];

//izvuces iz baze stari password mrzi me da kucam kod, valjda znas to, i smestis ga npr u $old_pass
//e sad ako ti je ovaj $old_pass kriptovan moras da kriptujes i $stari_pass, zavisi koju si funkciju koristio md5() ili sha1(), pretpostavimo da si md5()

if ( md5($stari_pass) == $old_pass ) {

$novi_pass = md5($novi_pass);
$sql = "UPDATE korisnici SET password = \"$novi_pass\" WHERE ID=$ID";
if($rezultat == mysql_query($sql)) echo "password promenjen";
else echo "password nije promenjen";

}
else 
echo "pogresan stari password";


[Ovu poruku je menjao dalibor991 dana 16.11.2012. u 20:15 GMT+1]
 
Odgovor na temu

ivan.a
PHP developer

Član broj: 83976
Poruke: 403
*.dynamic.isp.telekom.rs.



+44 Profil

icon Re: Promena CryptedPass preko php15.11.2012. u 21:57 - pre 139 meseci
Zar još uvek koristite md5 funkciju za kriptovanje lozinke (još bez hash-a, slug-a)? :)

Ne mora da znači da je on koristio md5 ili sha1 funkciju za lozinke.
Upit nije dobar tj. provera upita...ovo može da daje true svaki put kada je upit izvršen (bez obzira da li je ID polje validno ili je neka druga greška u pitanju).
Code:
if($rezultat = mysql_query($sql)) echo "password promenjen";

I hope I didn't brain my damage - Homer
if (wife.position == kitchen) {return sandwich};
 
Odgovor na temu

dalibor991
Dalibor Menkovic
Beograd

Član broj: 307718
Poruke: 7
*.adsl-1.sezampro.rs.



Profil

icon Re: Promena CryptedPass preko php16.11.2012. u 19:18 - pre 139 meseci
ne mora da znaci, nek upotrebi onu koju je on koristio

[Ovu poruku je menjao dalibor991 dana 17.11.2012. u 04:28 GMT+1]
 
Odgovor na temu

[es] :: PHP :: Promena CryptedPass preko php

[ Pregleda: 1683 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

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