NeoX Posted April 21, 2005 Report Share Posted April 21, 2005 Man ir uztaisits memberships, es gribu uzlikt kaut kaadu nebuut droshiibu, lai ievadot parolu un/vai username nebuutu iespeejas palaist kaadu evil scriptu. userneimi un paroles glabaajas uz SQL. Zinu, ka tas jaadara ar preg_replace() vai liidziigu f-ciju, bet iesakiet kaadus simbolus vajadzeetu izgriezt! Link to comment Share on other sites More sharing options...
v3rb0 Posted April 21, 2005 Report Share Posted April 21, 2005 Man ir uztaisits memberships, es gribu uzlikt kaut kaadu nebuut droshiibu, lai ievadot parolu un/vai username nebuutu iespeejas palaist kaadu evil scriptu. userneimi un paroles glabaajas uz SQL. Zinu, ka tas jaadara ar preg_replace() vai liidziigu f-ciju, bet iesakiet kaadus simbolus vajadzeetu izgriezt! 16747[/snapback] nevis izgriezt sliktos, bet aizliedz visus simbolus izņemot labos, tā būs garantija ka neesi aizmirsis kādu slikto noķert. Link to comment Share on other sites More sharing options...
NeoX Posted April 21, 2005 Author Report Share Posted April 21, 2005 Kaa? :) Link to comment Share on other sites More sharing options...
v3rb0 Posted April 21, 2005 Report Share Posted April 21, 2005 daudz un dažādi veidi. skaties par regulārajam izteiksmēm un experimentējies. te iesākumam viens piemērs kā no stringa izgriezt ārā tikai lielos un mazos burtus preg_match_all( '/[a-z]/i', '\'"A!br*()&a ka!!!2 3 _° Dabra-.ka', $m); echo implode('',$m[0]); Link to comment Share on other sites More sharing options...
NeoX Posted April 21, 2005 Author Report Share Posted April 21, 2005 Nu jaa OK! Tik taalu es saprotu, bet kaa var tiem paterniem pievienot veel kaadu? Tevis dotajaa piemeeraa ir atljauts lietot tikai burtus, bet ja piemeeram man vajag burtus, ciparus un veel piem. "_". Kaa tad? Kaadaa taa patterna sintaxe ir? Link to comment Share on other sites More sharing options...
NeoX Posted April 21, 2005 Author Report Share Posted April 21, 2005 Labi! Iebraucu visaa tajaa lietaa, tagad shancee! Tikai es gribeetu uzzinaat vai stringaa ir bijis kaads aizliegtais simbols vai nee. Kaa lai to dabon??? Link to comment Share on other sites More sharing options...
Venom Posted April 22, 2005 Report Share Posted April 22, 2005 nu piem if (preg_match('@[a-z0-9_\.]@',$string)) echo 'strings satur ne tikai latīņu burtus, ciparus un punktu vai apakšstrīpu!'; att. uz pregiem, vari pačamdīties ap http://venom.eclub.lv Link to comment Share on other sites More sharing options...
bubu Posted April 22, 2005 Report Share Posted April 22, 2005 if (preg_match('@[a-z0-9_\.]@',$string)) echo 'strings satur ne tikai latīņu burtus, ciparus un punktu vai apakšstrīpu!'; Droši vien biji domājis: if (preg_match('@[^a-z0-9_\.]@',$string)) ne? Link to comment Share on other sites More sharing options...
Venom Posted April 22, 2005 Report Share Posted April 22, 2005 ā, nujā, negācijas ^ Link to comment Share on other sites More sharing options...
Osiris Posted April 24, 2005 Report Share Posted April 24, 2005 Vai kādam ir koda piemērs, kuru var palaist caur login/parole formu un uztaisīt blēņas? Gribētos izpētīt no kā jabaidās. Vai tie ir tikai mēli? Link to comment Share on other sites More sharing options...
Kavacky Posted April 24, 2005 Report Share Posted April 24, 2005 SQL injekcijas nav meli. Link to comment Share on other sites More sharing options...
bubu Posted April 24, 2005 Report Share Posted April 24, 2005 Ja tev ir formā: <input name="username"><input name="password"> un tu nosūtītos datus pārbaudi šādu sql kverijā vai ir tāds lietotājs: $q = mysql_query("SELECT COUNT(*) FROM users WHERE name='".$_POST['username']."' AND password='".$_POST['password']."'"); list($cnt) = mysql_fetch_row($q); if ($cnt==0) { // nav tāda usera } else { // ir tāds useris } Tad vienkārši ievadot password lauciņā tekstu "blabla' OR 1" (bez " pēdiņām apkārt)kverijs vienmēr atgriezīs visu useru skaitu, tb lielāku par 0 vērtību un notiks veiksmīga ielogošanās. Link to comment Share on other sites More sharing options...
Osiris Posted April 24, 2005 Report Share Posted April 24, 2005 bubu, paldies, sapratu. Link to comment Share on other sites More sharing options...
NeoX Posted April 25, 2005 Author Report Share Posted April 25, 2005 Bubu, tava koda: list($cnt) = mysql_fetch_rows($result) vietaa eertaak nav rakstiit: $count = mysql_num_rows($result). Tipa vajadzeetu buut aatraak! :) Link to comment Share on other sites More sharing options...
bubu Posted April 26, 2005 Report Share Posted April 26, 2005 Tā kā kveriji veidā "SELECT COUNT(*) FROM ..." atgriež vienmēr 1 rindu, tad mysql_num_rows(..) atgriezīs vienmēr skaitli 1 un nav nekādas jēgas to izsaukt. Link to comment Share on other sites More sharing options...
Recommended Posts