nn_ Posted November 3, 2005 Report Share Posted November 3, 2005 (edited) if (isset($_POST['enter']) && !empty($_POST['pwd'])) { //fetch $datubaze = new datubaze(); $usr = $_POST['usr']; $pwd = md5($_POST['pwd']); //if (mysql_affected_rows(mysql_query("SELECT * FROM `administratori` WHERE name='$usr' AND password='".md5($pwd)."'"))) //if ($datubaze->f("SELECT * FROM `administratori` WHERE name='$usr' AND password='".md5($pwd)."'")) $q = $datubaze->q("SELECT * FROM `administratori`"); while($b = mysql_fetch_array($q)){ if($usr = $b['name'] && $pwd == $b['password']) { Kapēc man negrib strādāt (izmet mysql warningu) if ($datubaze->f("SELECT * FROM `administratori` WHERE name='$usr' AND password='".md5($pwd)."'")) Pašreizējā metode strādā, bet gribās uzzināt kas nepareizi šajā. Edited November 3, 2005 by nn_ Link to comment Share on other sites More sharing options...
[Ya] Posted November 3, 2005 Report Share Posted November 3, 2005 (edited) NETAISAM LIEKAS QUOTES (bubu) pirmkārt tu lieto kautkādu smagu SQL klasi, otrkārt, tev nešķiet ka if($usr = $b['name'] && $pwd == $b['password']) vajadzētu būt tā? if($usr = $b['name'] && md5($pwd) == $b['password']) es piem. lietoju sevis taisītu SQL klasi priekš PHP 5, priekš PHP4 ir jau gatava klase arī ļoti vienkārša ... ja kas SQL klase priekš PHP5 un MYSQL >4.1 ir te ... http://paste.php.lv/2789 Edited November 3, 2005 by bubu Link to comment Share on other sites More sharing options...
nn_ Posted November 3, 2005 Author Report Share Posted November 3, 2005 (edited) 1. nelietoju nekādu smagu SQL klasi, manis veidota un ļoti primitīva. 2. $pwd = md5($_POST['pwd']); man vaig vēlreiz viņu md5'ot? Edited November 3, 2005 by nn_ Link to comment Share on other sites More sharing options...
bubu Posted November 3, 2005 Report Share Posted November 3, 2005 Paskaties atšķirību par = un == if nosacījumu pārbaudēs! Link to comment Share on other sites More sharing options...
Kaklz Posted November 3, 2005 Report Share Posted November 3, 2005 1. nelietoju nekādu smagu SQL klasi, manis veidota un ļoti primitīva.2. $pwd = md5($_POST['pwd']); man vaig vēlreiz viņu md5'ot? Īsā atbilde: Jā. Garā atbilde: md5() ir funkcija, kas "šifrē" paroli. Tā, ko tev iesūta lietotājs ir nešifrēta. Attiecīgi ja viena no parolēm ir šifrēta, bet otra nešifrēta, tad nu viņas nekādi nevar būt vienādas (savādāk šifrēšanai nebūtu jēgas). Tā kā md5 praktiski nevar atšifrēt, tad vienkāršākais variants ir vienkārši nošifrēt lietotāja iesūtīto paroli un salīdzināt jau šifrēto variantu ar to, kas ir datubāzē vai kur nu tu viņu glabā. Ja šifrētie varianti abām parolēm ir vienādi, tad praktiski ir vienādas arī paroles. Ir zināmas atkāpes, bet nu tās ir tik reti iespējamas, ka par tām šoreiz nerunāsim. Link to comment Share on other sites More sharing options...
bubu Posted November 3, 2005 Report Share Posted November 3, 2005 Kaklz, tu pārprati viņu. Viņam kodā jau ir md5 pielietots (pasties pirmo postu). Taču [Ya] saka, ka viņam tajā if'ā atkal jāpielieto md5. Iznāks kautkas tās if (md5(md5($text)) == '...') No tā gan īsti lielas jēgas nav (protams, tūlīt atnāks blackhalt un stāstīs pretējot ;) Link to comment Share on other sites More sharing options...
Kaklz Posted November 3, 2005 Report Share Posted November 3, 2005 jā, tev taisnība, paskatījos tikai quote, nevis visu kodu. Link to comment Share on other sites More sharing options...
nn_ Posted November 3, 2005 Author Report Share Posted November 3, 2005 (edited) papildus drošībai jau var kko vēl pielikt klāt, bet man pilnīgi pietiks ar parastu md5(). Kāds nevar pateikt kapēc man šis neiet. if ($datubaze->f("SELECT * FROM `administratori` WHERE name='$usr' AND password='".md5($pwd)."'")) un šis arī if (mysql_affected_rows(mysql_query("SELECT * FROM `administratori` WHERE name='$usr' AND password='".md5($pwd)."'"))) Edited November 3, 2005 by nn_ Link to comment Share on other sites More sharing options...
v3rb0 Posted November 3, 2005 Report Share Posted November 3, 2005 $kverijs = 'SELECT * FROM administratori WHERE name="'.$usr.'" AND password="'.md5($pwd).'"'; if ($datubaze->f($kverijs)) Link to comment Share on other sites More sharing options...
nn_ Posted November 3, 2005 Author Report Share Posted November 3, 2005 $kverijs = 'SELECT * FROM administratori WHERE name="'.$usr.'" AND password="'.md5($pwd).'"';if ($datubaze->f($kverijs)) Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource Link to comment Share on other sites More sharing options...
bubu Posted November 3, 2005 Report Share Posted November 3, 2005 Kāds nevar pateikt kapēc man šis neiet. Atkal gaišredzības gaidās kāds.... Kā lai mēs zinām kā tava klase datubaze ir izveidota? Link to comment Share on other sites More sharing options...
nn_ Posted November 3, 2005 Author Report Share Posted November 3, 2005 Netaisam liekas QUOTES (bubu) un lasam, ko raksta reply logā: Ja Tu vēlies ievietot pagarāku PHP kodu, tad izmanto paste.php.lv sniegtās iespējas un ierakstā atstāj atsauci uz to! <?php //K: Datubāze class datubaze extends system { var $theQuery; var $link; //F: Savienojamies ar datubāzi function db_connection(){ //I: Ielādējam uzstādījumus $settings = system::get_settings(); //I: Vajadzīgie uzstādījumi $host = $settings['dbhost']; $db = $settings['dbname']; $user = $settings['dbusername']; $pass = $settings['dbpassword']; //I: Savienojamies ar datubāzi $this->link = mysql_connect($host, $user, $pass); mysql_select_db($db); register_shutdown_function(array(&$this, 'close')); } //F: Izpildam kvēriju function q($query) { $this->theQuery = $query; return mysql_query($query, $this->link); } //F: Dabonam array no kvērija function f($result) { return mysql_fetch_array($result); } //F: Aizveram savienojumu ar datubāzi function close() { mysql_close($this->link); } } ?> Link to comment Share on other sites More sharing options...
goldy Posted November 3, 2005 Report Share Posted November 3, 2005 un tagad pastaasti priekskam tur vajadziiga klase, no kurienes rodas taada tendence visu sarezgiit Link to comment Share on other sites More sharing options...
Klez Posted November 3, 2005 Report Share Posted November 3, 2005 pamaini un pasties kljuudu! //F: Izpildam kvēriju function q($query) { $this->theQuery = $query; return mysql_query($query, $this->link) or print(mysql_error($this->link)); } Link to comment Share on other sites More sharing options...
nn_ Posted November 3, 2005 Author Report Share Posted November 3, 2005 Netaisam liekas QUOTES (bubu). Tik ļoti warnu gribi? Izmainīju bet nedo ārā klūdu :? Link to comment Share on other sites More sharing options...
Recommended Posts