Jump to content
php.lv forumi

pārbaudīt, vai strings satur kādu konkrētu simbolu


peehaa

Recommended Posts

if(stristr($filename, "!") === FALSE) {
 echo "viss štokos";
}

šādi es pārbaudu, vai $filename nesatur '!' [ viss strādā ], bet kā lai pārbaudu, vai $filename nesatur gan '!', gan '@' un citas lietas?

 

$xss = array(";" , "," , "-" , "!" , "'" , "?" , ">" , "<" , "&");
if(stristr($filename, $xss) === FALSE) {
 echo "viss štokos";
}

šāds variants man nestrādā. varbūt stristr() vietā var izmantot ko efektīvāku?

$filename satur $_GET['name'], bet es vēlos izvairīties no xss tipa uzbrukumiem caur url`i.

Link to comment
Share on other sites

tiešām nebiju iedomājies par white list, lielliels paldies. :)

tevis iedotais variants neaizsargā no xss pilnībā, būs japalasa par patterniem.

 

?go=works&name=* - attēls netiek parādīts, paziņojums par iespējamu xss parādās.

?go=works&name=a*a - attēls netiek atrasts, bet paziņojuma nav. - pieprasītais fails a*a.jpg netika atrasts.

 

... turpinu lasīt. :>

Edited by peehaa
Link to comment
Share on other sites

vajag vēl pateikt ka jāsak meklēt no rindas sākuma un jabeidz ar rindas beigām.

^[a-z0-9_\.]+$

tagad tu meklē lai tikai būtu vismaz viens no atļautajiem - tb. "a" atbilst a-z daļai, vairāk neko ar nepārbauda un uzskata par derīgu.

Link to comment
Share on other sites

×
×
  • Create New...