Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  Probleem php-ga märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
mine lehele 1, 2  järgmine
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 16:22:09 Probleem php-ga vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Yankuonu
HV kasutaja
Yankuonu

liitunud: 14.10.2011




sõnum 18.11.2011 16:28:20 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 16:37:47 vasta tsitaadiga

Mis nendel viga on?
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
Yankuonu
HV kasutaja
Yankuonu

liitunud: 14.10.2011




sõnum 18.11.2011 16:46:28 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
raitl
HV veteran


liitunud: 20.01.2002



Autoriseeritud ID-kaardiga

sõnum 18.11.2011 16:53:36 vasta tsitaadiga

...

viimati muutis raitl 18.11.2011 16:56:05, muudetud 1 kord
Kommentaarid: 166 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 147
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.11.2011 16:55:13 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 18.11.2011 17:05:11 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 18:19:43 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.11.2011 18:38:11 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
ufo56
HV Guru
ufo56

liitunud: 18.11.2004




sõnum 18.11.2011 18:38:29 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 21:22:16 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
YberCyrus
HV vaatleja

liitunud: 27.02.2010




sõnum 18.11.2011 21:37:07 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.11.2011 22:16:55 vasta tsitaadiga

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
if($uuspass==$uuspass2)


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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 23:16:09 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
siinus
HV Guru
siinus

liitunud: 20.01.2007




sõnum 18.11.2011 23:22:39 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 23:27:25 vasta tsitaadiga

Selle scriptiga ma raha ei teeni icon_biggrin.gif Need millega raha teenin need olemas. icon_biggrin.gif 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
vaata kasutaja infot saada privaatsõnum
siinus
HV Guru
siinus

liitunud: 20.01.2007




sõnum 18.11.2011 23:30:19 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.11.2011 23:31:18 vasta tsitaadiga

if (isset($_POST['execute']))
{


pane peale neid kahte rida järgmine lause ja siis näita, mida sulle näidati!

var_dump($_POST);die();
Kommentaarid: 51 loe/lisa Kasutajad arvavad:  :: 1 :: 3 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 23:37:09 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.11.2011 23:47:44 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.11.2011 23:48:50 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 23:50:21 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum
andrusny
Kreisi kasutaja
andrusny

liitunud: 20.03.2006




sõnum 18.11.2011 23:53:30 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
Karu7899
HV kasutaja

liitunud: 29.07.2010




sõnum 18.11.2011 23:54:40 vasta tsitaadiga

Andmebaasis on sisestatud paroolid md5 ega ja vastavad nimed on ka seal.
Kommentaarid: 8 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 8
tagasi üles
vaata kasutaja infot saada privaatsõnum
keevitaja
AM 10 aastat
keevitaja

liitunud: 05.11.2001




sõnum 18.11.2011 23:56:05 vasta tsitaadiga

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
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  Probleem php-ga mine lehele 1, 2  järgmine
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.