PHP常用工具函数小结【移除XSS攻击、UTF8与GBK编码转换等】
本文实例总结了PHP常用工具函数。分享给大家供大家参考,具体如下:
移除XSS攻击脚本
functionRemoveXSS($val){
//removeallnon-printablecharacters.CR(0a)andLF(0b)andTAB(9)areallowed
//thispreventssomecharacterre-spacingsuchas
//notethatyouhavetohandlesplitswith\n,\r,and\tlatersincethey*are*allowedinsomeinputs
$val=preg_replace('/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/','',$val);
//straightreplacements,theusershouldneverneedthesesincethey'renormalcharacters
//thispreventslike
$search='abcdefghijklmnopqrstuvwxyz';
$search.='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
$search.='1234567890!@#$%^&*()';
$search.='~`";:?+/={}[]-_|\'\\';
for($i=0;$i0){
$pattern.='(';
$pattern.='([xX]0{0,8}([9ab]);)';
$pattern.='|';
$pattern.='|({0,8}([9|10|13]);)';
$pattern.=')*';
}
$pattern.=$ra[$i][$j];
}
$pattern.='/i';
$replacement=substr($ra[$i],0,2).''.substr($ra[$i],2);//addin<>tonerfthetag
$val=preg_replace($pattern,$replacement,$val);//filteroutthehextags
if($val_before==$val){
//noreplacementsweremade,soexittheloop
$found=false;
}
}
}
return$val;
}
GBK转UTF8
functionGBKtoUTF8($str)
{
if(is_array($str))
{
foreach($stras&$value)
{
$value=GBKtoUTF8($value);
}
return$str;
}elseif(is_string($str)){
$str=iconv("GB18030","UTF-8//IGNORE",$str);
return$str;
}else{
return$str;
}
}
UTF8转GBK
functionUTF8toGBK(&$str)
{
if(is_array($str))
{
foreach($stras&$value)
{
$value=UTF8toGBK($value);
}
return$str;
}elseif(is_string($str)){
$str=iconv("UTF-8","GB18030//IGNORE",$str);
return$str;
}else{
return$str;
}
}
更多关于PHP相关内容感兴趣的读者可查看本站专题:《PHP编码与转码操作技巧汇总》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》、《php常用函数与技巧总结》及《PHP错误与异常处理方法总结》
希望本文所述对大家PHP程序设计有所帮助。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。