Vecteevs Posted April 26, 2010 Report Share Posted April 26, 2010 jautājums, vai šis variants ir drošs? $username=trim(mysql_real_escape_string($_POST["username"])); vai ir vēl kāds labāks paņēmiens? Quote Link to comment Share on other sites More sharing options...
waplet Posted April 26, 2010 Report Share Posted April 26, 2010 trim'o pie izvades... un labāk pirms mysql real escape sring. Quote Link to comment Share on other sites More sharing options...
codez Posted April 26, 2010 Report Share Posted April 26, 2010 (edited) Pret xss un xsrf nav drošs. Pret SQL injekcijām ir. Edited April 26, 2010 by codez Quote Link to comment Share on other sites More sharing options...
Morphius Posted April 27, 2010 Report Share Posted April 27, 2010 Te bija domaats ka pirms ielogoshanaas ir janoformatee 'username' lai droshi tiktu izpildiits kverijs. Respektiivi xss un xsrf atkriit, taa ir pavisam cita opera! Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted April 27, 2010 Report Share Posted April 27, 2010 Pie reizes uzreiz arī vari pārbaudīt, vai username nepārsniedz pieļaujamo garumu. Ja ir zināms, ka 488762 simbolu garš lietotājvārdam nav vietas datu bāzē, tad labāk uzreiz atmest šādus lietotājvārdus nevis riskēt (kaut arī pietiekami minimāli) uzrauties uz kādas no DB komponenšu kļūdām attiecībā uz pārgariem datiem. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 27, 2010 Report Share Posted April 27, 2010 Kāpēc jātaisa ar trim()? Nevar vienkārši ar mysql_real_escape_string()?? Quote Link to comment Share on other sites More sharing options...
Morphius Posted April 27, 2010 Report Share Posted April 27, 2010 Kāpēc jātaisa ar trim()? Nevar vienkārši ar mysql_real_escape_string()?? Tu tagad mulki teelo vai tieshaam uzdot interaktiivu jautaajumu? Es protams neesmu lietas kursaa bet vai tad real_escape novaac atstarpes? Ja jaa tad trim() nav vajadziigs :) Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted April 27, 2010 Report Share Posted April 27, 2010 Bet kādēl lai neļautu atstarpes loginā? :D Smuks logins: Akakijs Agofonovs Kāda vaina tādam? Quote Link to comment Share on other sites More sharing options...
php newbie Posted April 27, 2010 Report Share Posted April 27, 2010 trim noņem atstarpes sākumā un beigās... un ne tikai atstarpes vēl new line un citus. es pieņēmu ka trim ir gadijumiem kad lietotājs netišam ir ielicis atstarpi un tam nav nekāda sakara ar security. Quote Link to comment Share on other sites More sharing options...
daGrevis Posted April 27, 2010 Report Share Posted April 27, 2010 Tieši tāpēc es prasu. Vai tam ir sakars ar drošību?? Bet es atstarpēm darītu savādāk (ar preg_match())! :P Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted April 27, 2010 Report Share Posted April 27, 2010 Pareizāk, manuprāt būtu nodefinēt, kādi simboli ir pieļaujami lietotājvārdā un neļaut vadīt neko citu. Piemēram, ja lietotājvārds var sastāvēt tikai no latīņu burtiem un cipariem, tad pārbaude ir šāda: if(preg_match('/[^a-z0-9]/mi',$_POST['lietotajvards'])){ //Nekorekti simboli } else{ //Korekti simboli, turpinām ar mysql_real_escape() - tas nekas, ka nav atļautas pēdiņas, ja nu kaut kādā brīdī atļausim, nebūs jāfilozofē, kur un kas jāmaina } 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.