过滤数组中的数据,避免sql注入、xss等问题
2016-07-15 17:55
288 查看
/**
* 过滤数组中的数据,避免sql注入、xss等问题
* @param array $arr 要过滤的数组(可以是多维数组)
* @param string $filter 指定的过滤方法名
*/
function filterArray($arr, $filter='strip_tags,htmlspecialchars,trim') {
if(!is_array($arr)) return false;
$result = array();
$filters = explode(',', $filter);
foreach ($arr as $key => $val) {
if(is_array($val)){
$result[$key] = filterArray($val);
}else{
foreach($filters as $f) {
$val = call_user_func($f, $val);
}
$result[$key] = $val;
}
}
return $result;
}
函数调用示例:
$arr = array(
'id' => '1 ',
'name' => 'jack&',
'tag' => '<a href="#">test</a>123',
'arr' => array('id'=>'1 ', 'name'=>"jack&")
);
var_dump( filterArray($arr) );
* 过滤数组中的数据,避免sql注入、xss等问题
* @param array $arr 要过滤的数组(可以是多维数组)
* @param string $filter 指定的过滤方法名
*/
function filterArray($arr, $filter='strip_tags,htmlspecialchars,trim') {
if(!is_array($arr)) return false;
$result = array();
$filters = explode(',', $filter);
foreach ($arr as $key => $val) {
if(is_array($val)){
$result[$key] = filterArray($val);
}else{
foreach($filters as $f) {
$val = call_user_func($f, $val);
}
$result[$key] = $val;
}
}
return $result;
}
函数调用示例:
$arr = array(
'id' => '1 ',
'name' => 'jack&',
'tag' => '<a href="#">test</a>123',
'arr' => array('id'=>'1 ', 'name'=>"jack&")
);
var_dump( filterArray($arr) );
相关文章推荐
- Nginx+Tomcat+Memcached集群
- 数据库(学习整理)----4--Oracle数据查询(基础点1)
- sqlite数据库自动升级设计
- postgre数据库在上一个语句执行失败后,需要提交事务才能开始下一个语句
- oracle死锁,从查询,记录,到杀掉
- Oracle tns 协议
- Oracle SQL Developer工具常用配置
- spring + ehcache + redis两级缓存实战篇(2)
- Mysql日志解析
- oracle 锁表 如何解锁
- 数据库无法远程登录
- 根据不同的实体及其ID来获取数据库中的数据
- 经典T-SQL代码
- Mac OS 下搭建memcached java 增删改查
- 怎样才能实现排序优化的层次关系表设计_SQL技巧
- Python Web 7 —— python调用mongodb优化,使用mongoengine
- Redis 集群常见问题
- mysql 创建定时器
- 解决PLSQL 显示中文乱码问题
- plsql developer小结