Hinnavaatlus
:: Foorum
:: Uudised
:: Ärifoorumid
:: HV F1 ennustusvõistlus
:: Pangalink
:: Telekavad
:: HV toote otsing
|
|
autor |
|
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 16:22:09
Probleem php-ga |
|
|
Tervist!
Kas keegi teab mis siin viga on et ta ei muuda userit ega pwd db-s ära? Ja kas saaks niiviisi teha, et kui ta näitab uus pw ja vana pw, et seal ta näitaks neid mis ma ise sisestasin mitte md5 cryptinguga?
<form action="<?php $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" name="Admin nick vahetus">
<input onClick="javascript: this.value='';" type="text" value="Nick" name="nick" id="nick"><br>
<input onClick="javascript: this.value='';" type="text" value="Vana parool" name="vanapass" id="vanapass"><br>
<input onClick="javascript: this.value='';" type="text" value="Uusnick" name="uusnick" id="uusnick"><br>
<input onClick="javascript: this.value='';" type="text" value="Uus parool" name="uuspass" id="uuspass"><br>
<input onClick="javascript: this.value='';" type="text" value="Uus parool uuesti" name="uuspass2" id="uuspass2"><br>
<input onClick="javascript: this.value='';" type="hidden" name="execute" id="execute"><br>
<input type="submit" name="Submit" id="Submit" value="Vaheta parool"></form>
<?php
if (isset($_POST['execute']))
{
mysql_connect("localhost", "user", "pass");
mysql_select_db("db_name") or die(mysql_error());
$vanapass=$_POST['vanapass'];
$nick=$_POST['nick'];
$uuspass=$_POST['uuspass'];
$uuspass2=$_POST['uuspass2'];
$uusnick=$_POST['uusnick'];
$uuspass=md5($uuspass);
$uuspass2=md5($uuspass2);
$vanapass=md5($vanapass);
if($uuspass==$uuspass2)
{
if(mysql_num_rows(mysql_query("SELECT * FROM amx_amxadmins WHERE steamid='$nick' AND password='$vanapass'")))
{
$result = mysql_query("
UPDATE amx_amxadmins
SET password = '$uuspass', steamid = '$uusnick'
WHERE steamid = '$nick' AND password = '$vanapass'
")
or die(mysql_error());
echo ("Andmed vahetatud!<br>Nimi: $nick <br> Uus nick: $uusnick <br> Vana parool: $vanapass <br> Uus parool: $uuspass ");
}
else
{
echo ("valed andmed");
}
}
else
{
echo "Uued paroolid on erinevad";
}
}
?> |
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Yankuonu
HV kasutaja

liitunud: 14.10.2011
|
18.11.2011 16:28:20
|
|
|
Probleemi lahendus peaks peituma järgmistees ridades:
$uuspass=md5($uuspass);
$uuspass2=md5($uuspass2);
$vanapass=md5($vanapass);
_________________ "You cannot judge me. I am Justice itself!" |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 16:37:47
|
|
|
Mis nendel viga on?
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
Yankuonu
HV kasutaja

liitunud: 14.10.2011
|
18.11.2011 16:46:28
|
|
|
põhimõteliselt kaota ära md5 sellega on alatasa probleeme. Hetkel sulle mingit valikvarianti pakkuda pole, võtaks natuke aega millegi uue leidmine. VB keegi kes igapäevaselt tegeleb asjaga oskab paremini seletada.
MD5 pole soovitatav kasutada paroolides. põhjuseid leiad googlei abil võimalik et ka sobiva altenratiivi.
NB! ma võin ka eksida kuna pole pikka aega tegelenud asjaga
_________________ "You cannot judge me. I am Justice itself!" |
|
Kommentaarid: 1 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
1 |
|
tagasi üles |
|
 |
raitl
HV veteran

liitunud: 20.01.2002
|
18.11.2011 16:53:36
|
|
|
...
viimati muutis raitl 18.11.2011 16:56:05, muudetud 1 kord |
|
Kommentaarid: 166 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
0 :: |
147 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
18.11.2011 16:55:13
|
|
|
Yankuonu, sa eksid! md5 on täiesti kasutatav. võib kasutada ka sha1,mis on ka soovitatav. md5 on 32 tähemärki pikki, sha1 40.
debugimist alustaks sellest, et kõige pealt testiks, kas nick ja vanapass alusel leitakse rida üles!
aga kui nüüd rääkida sellest koodist, siis piisab kui teha
mysql_query("UPDATE amx_amxadmins SET password = '$uuspass', steamid = '$uusnick' WHERE steamid = '$nick' AND password = '$vanapass'") or die(mysql_error()); |
seda kontrollimist, kas selline kasutaja on olemas, pole vaja teha, kuna kui vana nick ja pass ei kattu, siis midagi ei uuendata niikuinii.
|
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
Redikate
HV veteran

liitunud: 30.12.2005
|
18.11.2011 17:05:11
|
|
|
Kuidas te seda koodi küll niimoodi kirjutate, et ise ei tea mida kirjutate?
tsitaat: |
Ja kas saaks niiviisi teha, et kui ta näitab uus pw ja vana pw, et seal ta näitaks neid mis ma ise sisestasin mitte md5 cryptinguga? |
Ise sa paned selle md5 crypti peale sinna ju, näita enne siis paroole kui cyptid või pane cryptitud parool teise muutujasse.
Teiseks nagu kasutaja Yankuonu mainis, siis kaota md5 ära. Soovitan üldse lugeda paroolide turvalisuse kohta enne kui nendega midagi tegema hakkad. Salt + sha1 on praegu veel ok.
md5 paoolid on kuni 8 tähemärgi ulatuses crackitud.
Kolmandaks soovitan tutvust teha sellise PHP funktsiooniga nagu var_dump(); ning debuggida oma koodi ise. Dumpi oma väljad välja ja vaata kas nad kõik on olemas ja kas nad on samasugused nagu sa nad sisestasid ja siis liigu edasi.
_________________ http://nodejs.org/
"I'm also a person. Programming is just one thing I do." |
|
Kommentaarid: 34 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
33 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 18:19:43
|
|
|
Kahjuks ma ei saa md5 ära kaotada kuna programm mida kasutan(amxbans gm 1.6) kasutab md5 crypti. keevitaja, Tänud proovin seda koodi.
EDIT: Keevitaja proovisin aga kuvab valget lehte. Kas keegi saaks ära parandada selle koodi, et ta ei kuvaks valget lehte?
<?php
if (isset($_POST['execute']))
{
mysql_connect("localhost", "user", "pw");
mysql_select_db("db_nimi") or die(mysql_error());
$vanapass=$_POST['vanapass'];
$nick=$_POST['nick'];
$uusnick=$_POST['uusnick'];
$uuspass=$_POST['uuspass'];
$uuspass2=$_POST['uuspass2'];
$vanapass=md5($vanapass);
$uuspass=md5($uuspass);
$uuspass2=md5($uuspass2);
if($uuspass==$uuspass2)
{
{
(mysql_num_rows(mysql_query("UPDATE amx_amxadmins SET password = '$uuspass', steamid = '$uusnick' WHERE steamid = '$nick' AND password = '$vanapass'"))) or die(mysql_error());
echo ("Andmed vahetatud!");
}
else
{
echo ("valed andmed");
}
}
else
{
echo "Uued paroolid on erinevad";
}
}
?> |
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
18.11.2011 18:38:11
|
|
|
http://www.php.ee/75
tee endale sealt 2 esimist artiklik selgeks, et mysqli päringutest ära saada. lisaks, php syntaksi tundmine koos valiklaustega ei teeks kah paha.
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
ufo56
HV Guru

liitunud: 18.11.2004
|
18.11.2011 18:38:29
|
|
|
Seda mis tahad teha. Neid skripte leidub niisama ka netist. Amxbansis parooli muutmine. Googelda peaks leidma.
_________________
Lae pildid -> pilt.io |
|
Kommentaarid: 78 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
67 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 21:22:16
|
|
|
Selle scripti võtsin kah netist. Ainult, et see ei töötanud kuna see oli vigane ja amxbans gm 1.6 lisab md5 cryptiga andmebaasi. Sms scriptid lisavad kah md5 cryptiga nii, et oleks vaja saada see korda.
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
YberCyrus
HV vaatleja
liitunud: 27.02.2010
|
18.11.2011 21:37:07
|
|
|
Pean siinkohal ära mainima, et MD5, SHA1 jms pole krüpteeringud vaid hashid. Krüpteeringuid saab dekrüpteerida kas siis sümmeertiliselt või asümmeetriliselt. Kõik hashid on lahti murtavad brute force, dictionary attack või millegi kolmanda meetodi kaudu. Kui võimalik kasuta salti ja hashimist tee keerulisemaks, näiteks hashi username+password string.
|
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
18.11.2011 22:16:55
|
|
|
tsitaat: |
Probleemi lahendus peaks peituma järgmistees ridades:
$uuspass=md5($uuspass);
$uuspass2=md5($uuspass2);
$vanapass=md5($vanapass); |
üks asi on turvalisus, teine asi koodi mittetoimimine, viimast ei mõjuta see md5 kül kuidagi.
Ja peale vaadates peaks kõik toimima. Kui ei toimi siis peaks midagi ka ütlema sulle, aga ega sa seda ju meile ei räägi.
tsitaat: |
or die(mysql_error());
echo ("Andmed vahetatud!<br>Nimi: $nick <br> Uus nick: $uusnick <br> Vana parool: $vanapass <br> Uus parool: $uuspass ");
echo ("valed andmed");
echo "Uued paroolid on erinevad"; |
Kui midagi ei tule, siis on kas
see
if (isset($_POST['execute'])) |
või see tingimus vale
Viga sul ilmselt andmebaasis, kuid siis peaks ka erroreid olema.
Veel üks võimalus, sul pole andmebaasis selliste andmetega kasutajat.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 23:16:09
|
|
|
Nagu aru sain siis eelmine script oli vigane. leidsin netist uue:
<style type="text/css">
<!--
.style3 {font-size: 12px}
-->
</style>
<center><?php
$sql_db = "np53461_css";//andmebaas
$con = mysql_connect("localhost","np53461_css","rainin12");
mysql_select_db($sql_db);
if(isset($_POST['oldus'])&&isset($_POST['oldps'])&&isset($_POST['newus'])&&isset($_POST['newps'])){
$result_admin = mysql_query("SELECT * FROM amx_amxadmins WHERE steamid='".$_POST['oldus']."' AND password='".$_POST['oldps']."'");
if(mysql_num_rows($result_admin)<1){
$msg.="Admin Nick või Parool on vale !";
}else{
$bla = mysql_fetch_array($result_admin);
$err=1;
if($bla['muudetud']>2){
$msg.="Admin Nick ja Parooli saab ainult 3x muuta !";
$err=0;
}
if(!isset($_POST['newps'])){
$msg.="Te peate sisestama UUE PAROOLI!";
$err=0;
}
if(!isset($_POST['newus'])){
$msg.="Te peate sisestama UUE NIME";
$err=0;
}
$newus = $_POST['newus'];
$newps = $_POST['newps'];
if($err==1){
mysql_query("UPDATE amx_amxadmins SET steamid='$newus' , password='$newps' , muudetud=muudetud+'1' WHERE id=".$bla['id']."")or die(mysql_error());
$msg.="Teie UUS Admin Nick On: ".$_POST['newus']." ja Parool: ".$_POST['newps']." !";
}
}
}
?>
<div><?=$msg?></div>
<table>
<form method="post" action="">
<tr><td>Vana admini nick:</td><td><input type="text" name="oldus" /></td></tr>
<tr><td>Vana parool:</td><td><input type="password" name="oldps" /></td></tr>
<tr><td>Uus admin nick:</td><td><input type="text" name="newus" /></td></tr>
<tr><td>Uus parool:</td><td><input type="password" name="newps" /></td></tr>
<tr><td colspan="2"><div align="center">
<input type="submit" value="Muuda" />
</div></td></tr>
</form>
</table>
</center> |
Et kuhu siin lisada md5() et ta hashiks vana ja uue pw ära?
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
siinus
HV Guru

liitunud: 20.01.2007
|
18.11.2011 23:22:39
|
|
|
Karu7899, kuna sa selle skriptiga niivõinaa raha teenid, siis võiksid lihtsalt paluda kellelgi vajalikud muudatused väikse kopika eest ära teha
suht mõttetu on hakata sulle nüüd php'd selgeks õpetama
_________________ suck less | ANNA MU SAI!
Ma arvasin, et see oli Priit, aga tegelikult oli Tõnu, |
|
Kommentaarid: 66 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
59 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 23:27:25
|
|
|
Selle scriptiga ma raha ei teeni Need millega raha teenin need olemas. Mul oleks lihtsalt vaja teada kuhu need käivad. Ega see nii raske kah ei saa olla. Vms?
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
siinus
HV Guru

liitunud: 20.01.2007
|
18.11.2011 23:30:19
|
|
|
Karu7899, antud skript on osa tervikust. njah, ega see amxbansi veebiliides suuremasi pole.
ja selle tervikuga teenid siiski.
_________________ suck less | ANNA MU SAI!
Ma arvasin, et see oli Priit, aga tegelikult oli Tõnu, |
|
Kommentaarid: 66 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
59 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
18.11.2011 23:31:18
|
|
|
if (isset($_POST['execute']))
{ |
pane peale neid kahte rida järgmine lause ja siis näita, mida sulle näidati!
|
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 23:37:09
|
|
|
djpvx, No jah kui siin pole abivalmeid inimesi siis lähen otsin mujalt abi.
keevitaja, vanas scriptis?
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
18.11.2011 23:47:44
|
|
|
vanas jah.
aga saa aru, et see mida sa soovid, ei ole päris abistamine. keegi peaks tekitama vastavad tabelid ja kogu koodi kirjutama, kuna sa ei tea asjast mitte midagi. see debugimine pole nii, et põmm ja viga on teada.
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
18.11.2011 23:48:50
|
|
|
tsitaat: |
Nagu aru sain siis eelmine script oli vigane. leidsin netist uue: |
tsitaat: |
Ja peale vaadates peaks kõik toimima. |
Eelmine script polnud üldse vigane, ainult sa ei osanud seda kasutada.
_________________
 |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 23:50:21
|
|
|
keevitaja, array(7) { ["nick"]=> string(3) "afs" ["vanapass"]=> string(1) "1" ["uusnick"]=> string(3) "ars" ["uuspass"]=> string(2) "12" ["uuspass2"]=> string(2) "12" ["execute"]=> string(0) "" ["Submit"]=> string(13) "Vaheta parool" } seda näitab
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
andrusny
Kreisi kasutaja

liitunud: 20.03.2006
|
18.11.2011 23:53:30
|
|
|
Nagu ennist juba mainisin, Sul on mingi kamm andmebaasiga, kas ei ole juba sisestatud paroolid md5 või pole seal vastavaid nimesid, mida proovid muuta.
Võid proovida ka otse ühe kindla muutmist, et näha, kas asi sul andmebaasiga toimib
Sa pead mysql ühendusse ikka oma andmebaasi andmed panema, kas seda tegid ennem?
mysql_connect("localhost", "user", "pass");
mysql_select_db("db_name") or die(mysql_error());
$uuspass=md5("qqq");
$uusnick="Peter";
$nick="";// otsi andmebaasist ja pane siia
$vanapass="";// otsi andmebaasist ja pane siia
mysql_query("UPDATE amx_amxadmins SET password = '$uuspass', steamid = '$uusnick' WHERE steamid = '$nick' AND password = '$vanapass' "); |
_________________

viimati muutis andrusny 19.11.2011 00:01:48, muudetud 2 korda |
|
Kommentaarid: 7 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
7 |
|
tagasi üles |
|
 |
Karu7899
HV kasutaja
liitunud: 29.07.2010
|
18.11.2011 23:54:40
|
|
|
Andmebaasis on sisestatud paroolid md5 ega ja vastavad nimed on ka seal.
|
|
Kommentaarid: 8 loe/lisa |
Kasutajad arvavad: |
   |
:: |
0 :: |
0 :: |
8 |
|
tagasi üles |
|
 |
keevitaja
AM 10 aastat

liitunud: 05.11.2001
|
18.11.2011 23:56:05
|
|
|
kui vanapass ongi 1, siis see sinu esimine script võiks ju ideepoolest töötada!
_________________ Hinnavaatlus ei ole koht arvamuse avaldamiseks! |
|
Kommentaarid: 51 loe/lisa |
Kasutajad arvavad: |
   |
:: |
1 :: |
3 :: |
40 |
|
tagasi üles |
|
 |
|