1mher3 Posted October 4, 2008 Report Share Posted October 4, 2008 (edited) iespējas ka profesionāļiem tas ko es šeit rakstu izklausīsies smieklīgi, tāpēc, lasot šo te komentāru lūdzu nedzert alu, tēju vai whatever... man ar visai minimālām zināšānām par PHP un serveru drošību šķiet ir diezgan nereāli uzcept PHP scriptu kuru zinātājs nevarētu uzlauzt. tad nu ienāca prātā ideja uzveidot šādu murgu: 1 - datu bāzē visus tabulu nosaukumus uztaisīt nesaksarīgus (piem., efv6fwvyh) 2 - sašifrēt visus ierakstus (nau ne jausmas kādā veidā, bet ideja ka scripts pie saglabāšanas visas vētības pārvērš par kautko tamlīdzīgu: jewgh508whgf08g79wf3b8f043gfv un pie nolasīšanas to atkodē) 3 - PHP failus sakodēt ar Zend Guard (vai kautko tamlīdzīgu). vēlētos zināt vai tas neizklausās pēc galīgām muļķībām un cik lielā mērā šāds pasākums samazinātu risku ka kāds no malas var izmaninīt/pievienot informāciju? Edited October 4, 2008 by 1mher3 Link to comment Share on other sites More sharing options...
Endijs Posted October 4, 2008 Report Share Posted October 4, 2008 Izklausās (izskatās). Link to comment Share on other sites More sharing options...
waplet Posted October 4, 2008 Report Share Posted October 4, 2008 Un kāda jēga no tā ka sakodēsi failus ,tā vai tā izvadīs to ko vajadzēs izvadīt! Link to comment Share on other sites More sharing options...
Kavacky Posted October 4, 2008 Report Share Posted October 4, 2008 Zinātājs uzlauzīs vienmēr. Gādā par to, lai zinātāju skaits, kuri to gribētu, ir minimāls, un visu traumēto ir iespējams ātri un viegli atjaunot. Link to comment Share on other sites More sharing options...
blackhalt Posted October 4, 2008 Report Share Posted October 4, 2008 A Tu kodē tā, lai pats nevarētu uzlauzt ;) Ja tās Tavas uberdarbības tik un tā pieļaus visādus nefiltrētus $_GET, $_POST utml., tad tos tavus tabulu ubernosaukumus tik un tā nolasīs. http://www.google.com/search?complete=1&am...mp;aq=f&oq= http://www.google.com/search?num=30&co...mp;aq=f&oq= Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 4, 2008 Report Share Posted October 4, 2008 1 - datu bāzē visus tabulu nosaukumus uztaisīt nesaksarīgus (piem., efv6fwvyh)2 - sašifrēt visus ierakstus (nau ne jausmas kādā veidā, bet ideja ka scripts pie saglabāšanas visas vētības pārvērš par kautko tamlīdzīgu: jewgh508whgf08g79wf3b8f043gfv un pie nolasīšanas to atkodē) 3 - PHP failus sakodēt ar Zend Guard (vai kautko tamlīdzīgu). 1. Jegas nekaadas ... 2. Ja buus atsifresanas mehanisms --> tad to arii izmantos 3. Kods jau no taa nemainaas --- Driizaak jaievero pashi drosiibas pamatprincipi kaa taadi.. 1. DB izmantot 2 veida pieejas paroles viena Admin pieeja --> ljauj dzest/ievietot/ labot datus + veidot jaunas tabulas utt --> so izmanto tikai veidojot kontrolejot pashu lapu otra ar minimali nepieciesamajam tiesiibam atlasiit / Ja nepieciesams labot / dzeest .... --> izmanto pasaa lapaa 2. Galvenos skriptus iznest arpus Web foldera (ja tas iespejams ), tb. no arpuses tiem piekljuut nevar ... 3. Ieverot normalu parolju veidosanas principu kur ir Lielie/mazie & cipari --> nevis savu vardu+ dzimsanas gadu --- Vienmer parbaudiit ienakoshos datus --> ja var sanjemt tikai INT tad ienakosos datus parkonverteet par INT saglabajot datus DB izmantot kaadu no funkcijam kas apgriezj HTML tagus u.t.t. DB atljaut pieeju tikai no localhost VAI konkretaam IP. DB kaa useri neizmantot root --> root atstaat pieeju tikai no localhost .... --- Neglabat servera pieejas datus pasaa web root folderii --> nebriinies taadi briinumi ir redzeeti .... --- Principaa ar sho vajadzeetu pietikt ... Link to comment Share on other sites More sharing options...
Toms Posted October 4, 2008 Report Share Posted October 4, 2008 (edited) "..saglabajot datus DB izmantot kaadu no funkcijam kas apgriezj HTML tagus.." A es saglabāju iekš DB novēršot SQL injekcijas, bet datus neaiztieku. Apstrādāju tikai pie izvades ar makeSafe() function makeSafe($var){ return htmlentities($var,ENT_QUOTES,'utf-8'); } /* makeSafe */ Edit: kādi jums ir argumenti izmainīt lietotāja ievadīto info? Edited October 4, 2008 by Toms Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 4, 2008 Report Share Posted October 4, 2008 A es saglabāju iekš DB novēršot SQL injekcijas, bet datus neaiztieku. Apstrādāju tikai pie izvades ar makeSafe() function makeSafe($var){ return htmlentities($var,ENT_QUOTES,'utf-8'); } /* makeSafe */ kas tas par briinumu --> lai sarezgjiitaaks kods ;) Nakamreiz uzrakstii atseviskju klasi --> Vareesi staastiit ka Visu veido OOP ;) --- Ta tas bij vairak kaa piemers/ ieteikums --> galvenaa doma ir tieshi taa lai Useris nevar Sacakareet datus .... + idejiski ir dazji ieguvumi datus apstradajot pie ievades --> kaa zinams dati parasti tiek izvadiiti Krietni biezjaak nekaa ievadiiti (saglabati) taatad mazak darbiibu pie izvades .... Link to comment Share on other sites More sharing options...
Toms Posted October 4, 2008 Report Share Posted October 4, 2008 Kas tie par argumentiem?? DB klase to visu automātiski apstrādā, tā, ka nav nekas sarežģītāks. Un tavs OOP "arguments".. Vēl pamēģini apgalvot, ka tabulāru informāciju es taisu iekš CSS un <div>! Uzmini, kāpēc man atsevišķa funkcija tam htmlentities() ? Users nedrīkst čakarēt tavus datus, bet tu drīksti čakarētu viņējos? Outputam eksistē visādu veidu cachingi. Bez tam izvaddatu apstrāde nebūs "bottleneck". Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 4, 2008 Report Share Posted October 4, 2008 Un tavs OOP "arguments".. Uzmini, kāpēc man atsevišķa funkcija tam htmlentities() ? Users nedrīkst čakarēt tavus datus, bet tu drīksti čakarētu viņējos? Arguments bija ka standarta PHP funkciju ieliec savaa funkcijaa --> jegas nekaadas ... Cita lieta ja tur ieksaa iekljautu paarejaas parbaudes utt... Useris nedriks cakaret tavus datus, jo Vinsh izmanto serveri Nevis tu vinja Personiigo kompi --> Piedevam neviens nesaka ka dati tiek Cakareeti ... ---- Piedevam nevienmer DB Selectam tiek izmantota atseviskja klase --> biezji vien pietiek ar 1 funkciju kur salikt viis vajadziigais --> padod SQL kveriju --> sanjem datus --> sadai darbiibai nebuut nevajag atsevikju klasi ... Link to comment Share on other sites More sharing options...
v3rb0 Posted October 4, 2008 Report Share Posted October 4, 2008 Ja vien nav strikti atrunāts, ka visi dati nāks tikai un vienīgi no tavām formām un būs jārāda tikai un vienīgi weblapā, tad nevajag usera lietotos datus kaut kā replacēt, piem, alert'u pa citiem ceļiem tablē iekšā, kurš variants darbosies, kurš nē. Link to comment Share on other sites More sharing options...
Toms Posted October 4, 2008 Report Share Posted October 4, 2008 Tieši tāpēc man ir atsevišķa funkcija, kuru var lietot gadījumos, kad nav DB klases! Man nav vēlēšanās padarīt kodu grūtāk lasāmu (un rakstāmu) dēļ optional parametriem. Salīdzini: htmlentities($var,ENT_QUOTES,'utf-8'); makeSafe($var); Datus nečakarē - kā sauc to koderi, kas sabojā lietotāja inputu tad, ja tekstā bijuši kaut kādi < vai ' ? Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 4, 2008 Report Share Posted October 4, 2008 htmlentities($var,ENT_QUOTES,'utf-8');makeSafe($var); un kad kaadam citam buus jalabo tavs rakstiitais kods --> naksies mekleet ko ar to makeSfe esi domajis --> un ja jau taa velies samaziinat rakstamo simbolu daudzumu kadelj neizmanto tikai 1 burtu ?? salidzini makeSafe($var) ar a($a) ;) Link to comment Share on other sites More sharing options...
Toms Posted October 4, 2008 Report Share Posted October 4, 2008 Da labi, sākās galējības :D Bet nu labi - makeSafe() VS a() a() - naksies mekleet ko ar to a() esi domajis makeSafe() - intuitīvi saprotams kāpēc un ko dara. Link to comment Share on other sites More sharing options...
Grey_Wolf Posted October 4, 2008 Report Share Posted October 4, 2008 Bet nu labi - makeSafe() VS a()a() - naksies mekleet ko ar to a() esi domajis Es gribeju pateikt ka nav nekaadas jegas dublet PHP gatavas funkcijas --> veidojot savas ... Tas buutu attaisnojami ja apstraadaatu datus ar vairakam f-jam ... tad tas pilniibaa ataisno jaunas funkcijas veidosanu ... nevis: IzvadaUzEkrana($var) { echo $var; } var jau visas funkcijas parsaukt LV buus vel vieglak saprotams, jautajums vai vajag... Link to comment Share on other sites More sharing options...
Recommended Posts