Pogledajte određenu poruku
Staro 13. 10. 2006.   #15
bojan_bozovic
expert
Master
 
Avatar bojan_bozovic
 
Datum učlanjenja: 20.12.2005
Poruke: 730
Hvala: 0
0 "Hvala" u 0 poruka
bojan_bozovic is on a distinguished road
Default

Citat:
Originalno napisao ivanhoe
Ne slazem se. Po meni je vrlo smisleno da ako upit nije dobar lepo napises kulturnu poruku o gresci i logujes dogadjaj u neki fajl, a ukoliko je ocigledno da se radi o napadu, onda ne samo da logujes IP, nego i blokiras doticnog smaraca na 10-15 minuta, ili ga posaljes na laznu stranu gde moze da se igra pokusavajuci da nesto uhakuje (takozvani "tar hole")

Ukoliko se radi o napadacu koji pokusava da te uhakuje, sta ima njemu da popravljas sql, koji je smisao toga, samo se povecava sansa da pronadje neku rupu (jer mu dajes feedback, za razliku od genericke poruke o gresci)

A ukoliko imas bug u aplikaciji onda je bolje da upit pukne, pa da tokom testiranja mozes lepo da vidis da nesto ne valja, nego da skripta trosi procesorsko vreme da popravi pogresan upit, potencijalno sireci bug kroz aplikaciju i otezavajuci debug.

Ok naravno, postoje neki primeri gde ne treba biti extreman, tipa unos broja telefona ili broja kreditne kartice, logicno da treba pokusati da popravis pogresno formatirane podatke, a ne da smaras korisnika..
To je bespotrebno komplikovanje.

1.Proveris da li je URI enkodiran ispravno
2. Uvek proveris tip i opseg svakog podatka koji korisnik moze poslati (je li alfanumericki npr. ili broj, dobar i enkodiran URI itd. Tu spada svaki GET i POST parametar, kao podaci cookija)
3. Dodeli inicijalnu vrednost svakoj promenjljivoj koju ces koristiti.

Zato je lose i meni se ne svidja sto PHP nije strongly-typed,mnogo stosta bi interpreter automatski proveravao, ne bih to morao sam raditi. Provera je jednostavna, samo greska i izostavljanje iste moze da bude problem.

EDIT: evo primera:
http://maestitia.net/index.php?u=116
Citat:
SQL :: 4 queries were made.
http://maestitia.net/index.php?u=116z
Citat:
SQL :: No queries were made.

Poslednja izmena od bojan_bozovic : 13. 10. 2006. u 22:30.
bojan_bozovic je offline   Odgovorite uz citat