[ Cuchulainn @ 17.11.2006. 16:01 ] @
Koji je najbolji tj najsigurniji nacin kreiranja PHP web aplikacija da ne bi ista mogla da se hackuje? Moje iskustvo kaze da je nacin prenosenja parametra tipa index.php?main=strana lose i nesigurno resenje. |
[ Cuchulainn @ 17.11.2006. 16:01 ] @
[ flylord @ 17.11.2006. 16:12 ] @
Nemas bas neki veliki izbor u nekim situacijama, sem da pravis POST forme, ali ti, iskreno, dodje na isto sa stanovista sigurnosti.
Poenta je da handlujes svaku promenjivu, svaki request. Jer ti uvek znas kakve podatke ocekujes, i ti onda samo odradis proveru da li dobijas takve podatke i eventualno odradis neke konverzije. Na primer. Imas ID koji saljes preko url-a. On je integer tipa. Code: $id = (int)$_GET['int']; Ovako ces se osiguras da je to uvek integer, bez obzira sta neko poslao. Naravno, ovde mozes da napravis daleko komplikovanije provere po potrebi. Ali, opet da napomenem, jako je bitno da handlujes svaku promenjivu. Ja, na primer, ne koristim nikad $_GET, $_POST ili $_REQUEST. Imam svoju klasu TRequest, koja ima funkcije getGet, getPost i getRequest. I onda u okviru tih funkcija radim handlovanje, ali na osnovu prefixa. Meni sve promenjive iz requesta imaju prefix, na primer: int_ str_ txt_ dec_ Naravno, ovde moze se naprave jos bolji sistemi preko prefixa, Da proveravas da duzinu stringa, da li je obavezna promenjiva ili ne. Dosta toga. Drugi nacin je da napravis fitter na ulazu u celu aplikaciju, koja pre nego sto pocnes da bilo sta radis i koristis request, automatski obradi kompletan request, po odgovarajucim pravilima. [Ovu poruku je menjao flylord dana 17.11.2006. u 17:57 GMT+1] [ sale83 @ 18.11.2006. 01:23 ] @
Citat: Cuchulainn: Koji je najbolji tj najsigurniji nacin kreiranja PHP web aplikacija da ne bi ista mogla da se hackuje? Moje iskustvo kaze da je nacin prenosenja parametra tipa index.php?main=strana lose i nesigurno resenje. A zasto mislis da je to lose i nesigurno resenje ??? Pa lose "Nesigurno" je onda i samo onda kad to programer odradi traljavo... Poz sale [ Jezdimir Lončar @ 18.11.2006. 08:49 ] @
Citat: Apsulutno. Moze samo da postoji bar bugova koji se nalaze u samom phpu medjutim, bugovi u skripti su propusti developera. Sad, ne kazem ja da skripta moze biti 100% bez bugova ali se to moze smanjiti na sto manji broj ... [ 1r0nM4n @ 18.11.2006. 21:47 ] @
Citat: Cuchulainn: Moje iskustvo kaze da je nacin prenosenja parametra tipa index.php?main=strana lose i nesigurno resenje. To sa stranom je loše ako (na primer) napraviš ovako nešto: Code: $page = $_GET['main']; include $page.".php"; Pogledaj sajt www.phpsec.org, a posebno obrati pažnju na http://phpsec.org/projects/guide/ p0z [ glavince @ 21.11.2006. 01:20 ] @
I ako aplikacija radi sa bazom obavezno provera za ulazne podatke preko forme (injection).
addslashes, mysql_real_escape_string ... Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|