PHP检测数组中的每个值是否含有特殊字符

本文介绍了一个用于检测PHP数组维度的函数TestArray及一个用于去除潜在XSS攻击的函数remove_xss。通过这两个实用函数,开发者可以轻松判断数组维度并确保数据的安全。

本文出至:新太潮流网络博客

/**
 * [TestArray 检测数组是一维还是二维]
 * @E-mial wuliqiang_aa@163.com
 * @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 wuliqiang_aa@163.com * @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 .= '1234567890!@#$%^&*()'; $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', 

转载于:https://www.cnblogs.com/disoq/p/7509177.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值