PHP檢測數組中的每個值是否含有特殊字符
阿新 • • 發佈:2017-09-12
end mouseover onfinish -type desc bmi utf sta meta
本文出至:新太潮流網絡博客
/**
* [TestArray 檢測數組是一維還是二維]
* @E-mial [email protected]
* @TIME 2017-04-07
* @WEB http://blog.iinu.com.cn
* @param [type] $array [數組]
*/
function TestArray($array){
if(is_array($array)){
foreach($array as $v){
if(is_array($v)){
$Int_Array = array(‘Int‘=>2,‘Test‘=>‘檢測為二維數組‘);
}else{
$Int_Array = array(‘Int‘=>1,‘Test‘=>‘檢測為一維數組‘);
}
}
}else{
$Int_Array = array(‘Int‘=>3,‘Test‘=>‘檢測為不是數組‘);
}
return $Int_Array;
}
/**
* [剔除掉危險字符]
* @E-mial [email protected]
* @TIME 2017-04-07
* @WEB http://blog.iinu.com.cn
* @param [數據] $val [要處理的數據]
* @return [type] [description]
*/
function remove_xss($val) {
$val = preg_replace(‘/([\x00-\x08,\x0b-\x0c,\x0e-\x19])/‘, ‘‘, $val);
$search = ‘abcdefghijklmnopqrstuvwxyz‘;
$search .= ‘ABCDEFGHIJKLMNOPQRSTUVWXYZ‘;
$search .= ‘[email protected]#$%^&*()‘;
$search .= ‘~`";:?+/={}[]-_|\‘\\‘;
for ($i = 0; $i < strlen($search); $i++) {
$val = preg_replace(‘/(&#[xX]0{0,8}‘ . dechex(ord($search[$i])) . ‘;?)/i‘, $search[$i], $val);
$val = preg_replace(‘/(?{0,8}‘ . ord($search[$i]) . ‘;?)/‘, $search[$i], $val);
}
// now the only remaining whitespace attacks are \t, \n, and \r
$ra1 = array(‘javascript‘, ‘vbscript‘, ‘expression‘, ‘applet‘, ‘meta‘, ‘xml‘, ‘blink‘, ‘link‘, ‘style‘, ‘script‘, ‘embed‘, ‘object‘, ‘iframe‘, ‘frame‘, ‘frameset‘