2easy Posted January 14, 2010 Report Share Posted January 14, 2010 Man gan vairāk radās jautājums kā noteikt ka patiešām ir veikts injekcijas mēģinājums, nevis pilnīgi atļauts pieprasījums kas satur sagadīšanās pēc kaut vai to pašu apostrofu? tur jau tā lieta, ka labie/sliktie dati ir tikai cilvēka interpretācija. katrs konkrētais gadījums jāskatās atsevišķi, lai atšķirtu nejaušības/neuzmanības no tīšiem mēģinājumiem. kodā var tikai atlasīt aizdomīgos datus, bet to, vai tie ir ļaunprātīgi, pēc tam novērtē pats 1) aizdomīgi ir skaitļi, kas nav skaitļi ;) tur, kur jābūt skaitliskai vērtībai, pārbauda ar is_numeric(). ja tā nav, zna4it aizdomīga :P 2) teksts, kur ir apostrofs ' arī ir aizdomīgs. atjautīgi hakeri var sataisīt visvisādus stringus, kas var būt bīstami. tā ka universālu patternu, lai atpazītu injekciju, nav nemaz tik viegli uztaisīt šīs pārbaudes veic pirms pieprasījuma/formas apstrādes uz $_GET/$_POST parametriem. un aizdomīgās vērtības labāk saglabā savā log failā. ja nu kāds tomēr pamanās nonest db, tad tā arī neuzzinātu, no kurienes nāca injekcija ;) ja vien webservera log failos ir arī post dati Quote Link to comment Share on other sites More sharing options...
Maris-S Posted January 14, 2010 Report Share Posted January 14, 2010 (edited) Tieši tā, nevar precīzi noteikt vai ir mēģināts izmantot sql injekciju, tāpēc automātisko banu taisīt nevajadzētu, izņēmums varētu būt tādos gadījumos, kur, piemēram, ir stingri ierobežoti ievades dati, piemēram, lietotāja vārds, kas satur tikai simbolus, bet jebkurā gadījumā neatļautu simbolu var ievadīt kļūdas pēc, vai arī neizlasot piezīmes par ievades prasībām, automātiski nobanojot šādos gadījumos var sanākt zaudēt mājas lapas potenciālo apmeklētāju. Edited January 14, 2010 by Maris-S 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.