kodeejsN1 Posted January 23, 2010 Report Posted January 23, 2010 (edited) Man ir neliela problēma ar cookies un md5... Sistēmai kurai stāv šie skripti ir ļoti viegli uzlaut citu profilu, izmantojot cookies, caur dažiem browseriem, piemēram kā Opera! Kūkijos un paroles pārbaudē iekļaujot md5, hash neļauj pilnīgi ielogoties līdz galam, iespējams esmu nepareizi iekļāvis md5 vai kko palaidis garām. Problēma ir šajās 3 koda daļās, bet man nesanāk visu pilnīgi sataisīt ;/ 1. login 2.logout 3.logoutp Edited January 23, 2010 by kodeejsN1 Quote
Gustins Posted January 23, 2010 Report Posted January 23, 2010 (edited) nu pirmais ko redzu (vai pareizāk neredzu), login scriptā tev ne kas netiek pārveidots uz md5.. tb ja reģistrācijas kods lapai pārveido paroli uz md5 un tad ieraksta db, tad arī login kodā tev ir ievadītā parole no sākuma jāpārveido uz md5 un tikai tad jāsalīdzina ar db esošo paroli... Edited January 23, 2010 by Gustins Quote
2easy Posted January 24, 2010 Report Posted January 24, 2010 nevajag ņemt login skriptus no spāņu noobiem sesijas datus glabā iekš $_SESSION, nevis $_COOKIE Quote
kodeejsN1 Posted January 24, 2010 Author Report Posted January 24, 2010 Ja visu veido uz sesijām vienkārši nevar izlogoties... Quote
briedis Posted January 24, 2010 Report Posted January 24, 2010 Ja visu veido uz sesijām vienkārši nevar izlogoties... Kas par muļķībām? Quote
kodeejsN1 Posted January 24, 2010 Author Report Posted January 24, 2010 Nu pateikšu vienkārši un skaidri! Man nesanāk pareizi iekļaut MD5, visās šajās skripta daļās - cookies, paroles pārbaudē un izlogošanās! Quote
2easy Posted January 24, 2010 Report Posted January 24, 2010 Ja visu veido uz sesijām vienkārši nevar izlogoties... if (isset($_GET['action']) && $_GET['action'] == 'logout') { $_SESSION = array(); // un useris ir out. pirms tam ielogošanās brīdī bija $_SESSION['user'] = '...'; pēc kura arī atšķir ielogojušos useri no parasta apmeklētāja header('Location: /index.php'); exit; } Man nesanāk pareizi iekļaut MD5, visās šajās skripta daļās - cookies, paroles pārbaudē un izlogošanās! saglabājot db: md5($vertibaKasJasaglabaDb) pārbaudot login: if (md5($vertibaNoFormas) == $vertibaNoDb) {...} Quote
kodeejsN1 Posted January 24, 2010 Author Report Posted January 24, 2010 login fails 2easy, pēc tava varianta pārbaude: if (md5($data) == $password) { , pilnīgi neiet cauri, tad jau labāk: if( md5($data['password']) != $password) { , bet arī problēma ar ielogošanos, visu laiku rādīs ka dati nav pareizi... ;/ ar cookies: setcookie("usPass",md5($passe),time()+7776000); , arī ir problēma ka ielogojoties uzrādās hash`s un neielaiž iekšā Quote
2easy Posted January 24, 2010 Report Posted January 24, 2010 parādi kodu, kas nelaiž iekšā. iepriekšējie bija tikai login/logout, bet pašreizējā stāvokļa kontroli neparādīji Quote
kodeejsN1 Posted January 24, 2010 Author Report Posted January 24, 2010 lūk, šim te jābūt - http://paste.php.lv/cbea3d048a8a4d449141d0356aba65b5?lang=php Quote
2easy Posted January 24, 2010 Report Posted January 24, 2010 (edited) tur ir tikai palīgfunkcijas. kur tad ir tas kods, kur tu lieto md5()? pie logina md5() vajag tikai, lai to uzliktu cookija parolei (un tā šurpu turpu pa http ceļotu šifrēta, nevis atvērta). bet kad useris staigā pa lapu, kā tu atšķir, vai tas ir ielogojies, vai nē? cik es sapratu, tad problēma ar pārbaudēm un md5() ir tieši tajā vietā EDIT: un datu bāzē glabājas plain text paroles, vai md5? Edited January 24, 2010 by 2easy Quote
mounkuls Posted January 24, 2010 Report Posted January 24, 2010 (edited) Bezsakars. Kods kā tāds pavelk, bet ar problēmu sakaru neredzu. Šī rindiņa vispār auzās $texto=str_replace(":'(",$i."icon_cry.gif".$i_,$texto);, tas tā momentā iekrita acīs. MD5 ir vienvirziena kriptošana, hashu pieglabā failā vai bāzē un salīdzina ar jūzera md5(ievadītiem datiem), ja sakrīt ir OK.Kūkijus raksti pārlūkam, bet kur tos pārbaudi tā arī nemaniju..... Nu labi, čeko vai kūkijs pastāv un tikai:) Edited January 24, 2010 by mounkuls Quote
2easy Posted January 24, 2010 Report Posted January 24, 2010 (edited) Kūkijus raksti pārlūkam, bet kur tos pārbaudi tā arī nemaniju..... vovo, to jau es arī viņam 2x prasīju ;) šis ir tāds kā piemērs tam faktam, ka ja nav pamata zināšanu, tad gatavs skripts noder tikai tik ilgi, kamēr tas nav jāmaina. bet ja ir zināšanas, tad pats var uzkodēt daudz labāku :P Edited January 24, 2010 by 2easy Quote
mounkuls Posted January 24, 2010 Report Posted January 24, 2010 Pilnīgi piekrītu! Paņemt gatavu jau var, atkarīgs cik liela ir vēlme iemācīties. Arī pats esmu izmantojis gatavus lai iemācītos, tas ir normāli, taču savus pirmos es tomēr rakstiju pats un biju lepns tieši par to. Mazliet laikam stulbi, bet man vienalg, kamēr bija laika tam, uzskatīju to par pareizu praksi. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.