Pereiti prie turinio

Bėda su slaptažodžio ketimu (MD5)


Rekomenduojami pranešimai

Sveiki,

 

turiu tokią slaptažodžio keitimo formą:

if($opt == "3"){

if(isset($_POST["edit_submit"])){
$edit_oldpp = $_POST["edit_oldpp"];
$edit_pp = $_POST["edit_pp"];
$edit_pp2 = $_POST["edit_pp2"];

if($edit_oldpp == $user_pp and $edit_pp == $edit_pp2 and $edit_pp != ""){


$nn = $_POST["nn"];
$naujas_md5 = md5("$edit_pp");
mysql_query("UPDATE host_user SET src='$naujas_md5', pp='$edit_pp2' WHERE nn='$nn'");
echo"<img src=\"cookies.php?host_user;3600;$naujas_md5\" style=\"display:none\"/>";
echo"<font color=\"green\"/>Informacija pakeista sėkmingai.</font>";
} else {
echo"<font color=\"red\"/>";
if($edit_oldpp != $user_pp){ echo"Senas slaptažodis neteisingas."; } else {
if($edit_pp != "$edit_pp2"){ echo"Nauji slaptažodžiai nesutampa.";} else {
if($edit_pp == ""){ echo"Slaptažodis negali buti tusščias.";} else {
echo"Apie šią klaidą informuokit administraciją.";
}}}


echo"</font>";
}}

echo"<h2>Vartotojo nustatymai</h2>";
?>

<div class="text2">
<form action="index.php?0;3" method="POST">
Slapyvardis:<br/>
 <input type="password" size="25" name="nn" /><br />
Senas slaptažodis:<br/>
 <input type="password" size="25" name="edit_oldpp" /><br />
Naujas slaptažodis: <br/>
 <input type="password" size="25" name="edit_pp" /><br />
 Pakartokite slaptažodį: <br/>
 <input type="password" size="25" name="edit_pp2" /><br />
<input type="reset" class="button" name="edit_reset" title="Atstatyti laukelius" value="Atstatyti" />
<input type="submit" class="button" name="edit_submit" title="Atnaujinti informaciją" value="Atnaujinti informaciją" />
</form>
</div>


<?

 

cookes.php

<?
$getas = $_SERVER['QUERY_STRING'];
$mas=explode(";", $getas);
$name = $mas[0]; //PIRMAS
$time = $mas[1];// ANTRAS
$what = $mas[2];// ANTRAS

setcookie("$name","$what", time() + $time);

header("Content-type: image/png");
$im = @imagecreate(1, 1) or die("Klaida");
$background_color = imagecolorallocate($im, 0, 0, 0);
$text_color = imagecolorallocate($im, 233, 14, 91);
imagestring($im, 1, 0, 0,  ".", $text_color);
imagepng($im);
imagedestroy($im);
?>

 

Suvedi info, ir mysql pakeičia slaptažodį ir src laukelius, bet tada bandant junktis išmeta kad slaptažodis neteisingas, gal kas žino dėl ko ?

Redagavo Adulis
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip supratau reikia jog slaptažodį rašytu į duomenų bazė (md5) koduote,

 

 

 

if($opt == "3"){

if(isset($_POST["edit_submit"])){
$edit_oldpp = $_POST["edit_oldpp"];
$edit_pp = $_POST["edit_pp"];
$edit_ppmd5 = md5($_POST['edit_pp']);
$edit_pp2 = $_POST["edit_pp2"];

if($edit_oldpp == $user_pp and $edit_pp == $edit_pp2 and $edit_pp != ""){


$nn = $_POST["nn"];
mysql_query("UPDATE host_user SET src='$edit_ppmd5', pp='$edit_pp2' WHERE nn='$nn'");
echo"<img src=\"cookies.php?host_user;3600;$edit_ppmd5\" style=\"display:none\"/>";
echo"<font color=\"green\"/>Informacija pakeista sėkmingai.</font>";
} else {
echo"<font color=\"red\"/>";
if($edit_oldpp != $user_pp){ echo"Senas slaptažodis neteisingas."; } else {
if($edit_pp != "$edit_pp2"){ echo"Nauji slaptažodžiai nesutampa.";} else {
if($edit_pp == ""){ echo"Slaptažodis negali buti tusščias.";} else {
echo"Apie šią klaidą informuokit administraciją.";
}}}


echo"</font>";
}}

echo"<h2>Vartotojo nustatymai</h2>";
?>

<div class="text2">
<form action="index.php?0;3" method="POST">
Slapyvardis:<br/>
 <input type="password" size="25" name="nn" /><br />
Senas slaptažodis:<br/>
 <input type="password" size="25" name="edit_oldpp" /><br />
Naujas slaptažodis: <br/>
 <input type="password" size="25" name="edit_pp" /><br />
 Pakartokite slaptažodį: <br/>
 <input type="password" size="25" name="edit_pp2" /><br />
<input type="reset" class="button" name="edit_reset" title="Atstatyti laukelius" value="Atstatyti" />
<input type="submit" class="button" name="edit_submit" title="Atnaujinti informaciją" value="Atnaujinti informaciją" />
</form>
</div>


<?

Na o jai vistiek neleidžia prisijungti tai gal pas tave login formoj neskaito slaptažodžio kaip md5, pažėk.

Nuoroda į pranešimą
Dalintis kituose puslapiuose

$naujas_md5 = md5($edit_pp);
mysql_query("UPDATE host_user SET src='".$naujas_md5."', pp='".$edit_pp2."' WHERE nn='".$nn."'");

 

Beto tu netikrini ar senas pass geras pries ji pakeisdamas i nauja... nelogiskas cia kodas pas tave kazkoks.. Su tokiu pass pakeitimu tu pakeisi visiem uzeriam pass jei pas kuri nors viena is uzeriu md5 sutaps.

Redagavo ecash
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Kaip supratau reikia jog slaptažodį rašytu į duomenų bazė (md5) koduote,

 

 

 

if($opt == "3"){

if(isset($_POST["edit_submit"])){
$edit_oldpp = $_POST["edit_oldpp"];
$edit_pp = $_POST["edit_pp"];
$edit_ppmd5 = md5($_POST['edit_pp']);
$edit_pp2 = $_POST["edit_pp2"];

if($edit_oldpp == $user_pp and $edit_pp == $edit_pp2 and $edit_pp != ""){


$nn = $_POST["nn"];
mysql_query("UPDATE host_user SET src='$edit_ppmd5', pp='$edit_pp2' WHERE nn='$nn'");
echo"<img src=\"cookies.php?host_user;3600;$edit_ppmd5\" style=\"display:none\"/>";
echo"<font color=\"green\"/>Informacija pakeista sėkmingai.</font>";
} else {
echo"<font color=\"red\"/>";
if($edit_oldpp != $user_pp){ echo"Senas slaptažodis neteisingas."; } else {
if($edit_pp != "$edit_pp2"){ echo"Nauji slaptažodžiai nesutampa.";} else {
if($edit_pp == ""){ echo"Slaptažodis negali buti tusščias.";} else {
echo"Apie šią klaidą informuokit administraciją.";
}}}


echo"</font>";
}}

echo"<h2>Vartotojo nustatymai</h2>";
?>

<div class="text2">
<form action="index.php?0;3" method="POST">
Slapyvardis:<br/>
 <input type="password" size="25" name="nn" /><br />
Senas slaptažodis:<br/>
 <input type="password" size="25" name="edit_oldpp" /><br />
Naujas slaptažodis: <br/>
 <input type="password" size="25" name="edit_pp" /><br />
 Pakartokite slaptažodį: <br/>
 <input type="password" size="25" name="edit_pp2" /><br />
<input type="reset" class="button" name="edit_reset" title="Atstatyti laukelius" value="Atstatyti" />
<input type="submit" class="button" name="edit_submit" title="Atnaujinti informaciją" value="Atnaujinti informaciją" />
</form>
</div>


<?

Na o jai vistiek neleidžia prisijungti tai gal pas tave login formoj neskaito slaptažodžio kaip md5, pažėk.

 

Nepadėjo.

 

Prisijungimas toks:

<!-- Login'as -->
<?
if($login_error != "") { echo"$login_error<br/><br/>";}
?>

<h3>Klientų zona</h3>
<div class="left_box">
<form action="" method="POST">
 <input class="l_input" value="Prisijungimo vardas"  onblur="if(this.value=='') this.value='Prisijungimo vardas';" onfocus="if(this.value=='Prisijungimo vardas') this.value='';" type="text" size="25" name="login_nn" /><br />
 <input class="l_input2" value="Slaptažodis"  onblur="if(this.value=='') this.value='Slaptažodis';" onfocus="if(this.value=='Slaptažodis') this.value='';" type="password" size="25" name="login_pp" /><br />

<center><input type="submit" class="l_button" name="login_submit" title="Autorizuoti vartotoją" value="Prisijungti" /></center>

<div class="l_links">
<ul>
<li><a href="index.php?0;2">Pamiršai slaptažodį?</a></li>
<li><a href="index.php?0;1">Registracija</a></li>
</ul>
</div>
</form>
</div>
<!-- Login'as end -->

 

Čia dar kitas:

<?
if($aps_user_log == "0" or $aps_user_log == ""){

if(isset($_POST["login_submit"])){

$login_nn = $_POST["login_nn"];
$login_pp = $_POST["login_pp"];
$login_nn = strtolower($login_nn);
$login_pp = strtolower($login_pp);
$login_md5 = md5("$login_nn.$login_pp");
$login_asp_user = mysql_num_rows(mysql_query("select * from host_user where src='$login_md5'"));


if($login_asp_user == "0"){
$login_error = "<font color=\"#e1abab\"><b>Neteisingi duomenys!</b></font>";
} else {
header("location: index.php?$getas");
setcookie("host_user","$login_md5", time() + 1800);
}}

} else {

if(isset($_POST["logout_submit"])){
header("location: index.php?$getas");
setcookie("host_user","$user_cookies", time() - 3600);
}}
?>

Nuoroda į pranešimą
Dalintis kituose puslapiuose

Tai, kad pas tave prisijungiat tikrina md5(login.pass), o kai tu pakeiti slaptažodį, tai į db įrašai tik md5(pass).

 

Bet tai kažkoks kreivas čia script'as, jei pas ką bus login'as 'login' ir slaptažodis 'as', o pas kitą login'as 'log' ir slaptažodis 'inas' tai jų md5 toks pats bus ir neaišku, kuris pas kurį prisilogins, jei išvis prisilogins.. :)

 

Siūlau persidaryt skript'ą ir prisijungiant tikrinti ar tokio logino ir tas slaptažodis.

 

$login_asp_user = mysql_num_rows(mysql_query("select * from host_user where src='$login_md5' AND nn='$login_nn'"));

 

ir keičiant slaptažodį pasidaryk

 

$edit_ppmd5 = md5($_POST["nn"] . $_POST['edit_pp']);

 

Beto, kam saugai DB dar neužkoduota vartotojo slaptažodį? :)

Ir naudok mysql_real_escape_string :)

 

 

P.S. Kol parašiau, tai jau pats pamatei, lėtai rašau :unsure:

Redagavo dice
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...