Devils666 Posted November 11, 2009 Report Share Posted November 11, 2009 Sveiki, man tāds jautājums, esmu pabeidzis mājaslapu, taču neesu pārliecināts par drošību, pats hakeris neesmu xD, tapēc pārbaudīt nemāku, kā vislabāk varētu pārbaudīt drošību, vai nevar ielausities, visu sačakarēt, utt izmantoju PHP +MYSQL Quote Link to comment Share on other sites More sharing options...
briedis Posted November 11, 2009 Report Share Posted November 11, 2009 Palasi par vistipiskākajām ievainojamībām un tad papēti savu kodu... Quote Link to comment Share on other sites More sharing options...
Devils666 Posted November 11, 2009 Author Report Share Posted November 11, 2009 Palasi par vistipiskākajām ievainojamībām un tad papēti savu kodu... Bet būtībā ja man nav neviena input,utt tikai izvada no datubāzes - vienkārša lapa, kā varētu vislabak uzlaust? Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted November 11, 2009 Report Share Posted November 11, 2009 Iepazisties lēnā garā ar manis un citu cilvēku sasēņotajiem resursiem: http://php.lv/f/topic/14308-dokumentipamacibas-par-php-un-web-aplikaciju-drosibu/ Varbūt rodas kāda skaidrība. Quote Link to comment Share on other sites More sharing options...
Devils666 Posted November 11, 2009 Author Report Share Posted November 11, 2009 (edited) Iepazisties lēnā garā ar manis un citu cilvēku sasēņotajiem resursiem: http://php.lv/f/topic/14308-dokumentipamacibas-par-php-un-web-aplikaciju-drosibu/ Varbūt rodas kāda skaidrība. Paldies, dažas lietas nodereja, bet ja konkrēti if(isset($_GET['id'])) { $dabut = addslashes($_GET[id]); $getuser = mysql_query("SELECT * FROM `blabla` WHERE `id` = '$dabut'"); $usernum = mysql_num_rows($getuser); if($usernum == 0) { echo 'Nepareizs id!'; } else{ $user = mysql_fetch_array($getuser); echo "$user[tittle]"; } } else{ echo 'Kļūda!'; } šajā kodā ko vajadzētu pamainīt? lai viss butu ok ar drošību Edited November 11, 2009 by Devils666 Quote Link to comment Share on other sites More sharing options...
indoom Posted November 11, 2009 Report Share Posted November 11, 2009 (edited) nevis addslashes(), bet intval() šajā gadījumā, vai mysql_real_escape_string(), jau ir strings. drošībai vēl var pielikt pārbaudi if (isset($_GET['id']) && is_numeric($_GET['id'])) Edited November 11, 2009 by indoom Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted November 11, 2009 Report Share Posted November 11, 2009 mysql_real_escape() addslashes() vietā. Taču sakarā ar to, ka id ir vesels skaitlis, tad vienkāršāk ar intval() pārveidot un miers. Indoom jau pateica. Quote Link to comment Share on other sites More sharing options...
Devils666 Posted November 11, 2009 Author Report Share Posted November 11, 2009 (edited) mysql_real_escape() addslashes() vietā. Taču sakarā ar to, ka id ir vesels skaitlis, tad vienkāršāk ar intval() pārveidot un miers. Indoom jau pateica. tātad reāli jaizskatās šadi? if (isset($_GET['id']) && is_numeric($_GET['id'])) { $dabut = intval($_GET[id]); $getuser = mysql_query("SELECT * FROM `blabla` WHERE `id` = '$dabut'"); $usernum = mysql_num_rows($getuser); if($usernum == 0) { echo 'Nepareizs id!'; } else{ $user = mysql_fetch_array($getuser); echo "$user[tittle]"; } } else { echo 'Kļūda!'; } un, tad viss butu pareizi? Edited November 11, 2009 by Devils666 Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted November 11, 2009 Report Share Posted November 11, 2009 Domāju, ka jā. Vienīgi pārbaude: if(isset($_GET['id']), manuprāt vienalga ģenerēs brīdinājumu, ja netiks padots id parametrs. Quote Link to comment Share on other sites More sharing options...
Devils666 Posted November 11, 2009 Author Report Share Posted November 11, 2009 Domāju, ka jā. Vienīgi pārbaude: if(isset($_GET['id']), manuprāt vienalga ģenerēs brīdinājumu, ja netiks padots id parametrs. nu jā, bet tas jau itkā netrauce... Quote Link to comment Share on other sites More sharing options...
codez Posted November 11, 2009 Report Share Posted November 11, 2009 (edited) es ieteiktu uzmanīties ar is_numeric, jo, ja viņam padot piemēram stringu "2e70", viņš viņu uzskatīs par numeric, bet mysql, ja ieliksi WHERE id=2e70, atrausies ar kļūdu. bet tā tipiskākie drošības caurumi. 1)Neeskeipoti dati db 2)XSS 3)CSRF Edited November 11, 2009 by codez Quote Link to comment Share on other sites More sharing options...
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.