php中字符转义的两种方法

Eddy 发布于2012-11-27 10:59:54 分类: 网站相关 已浏览loading 网友评论0条 我要评论

[FONT-SIZE=3]
一般在做网站时都需要对用户提交的查询字符串进行转义,以防止sql注入,php中简单的可以用addslashes($str)函数来实现,对于多维数组,需要遍历每个数组元素进行处理,有两种办法:
1、系统自带的相关函数
[CODE=php]
if (!get_magic_quotes_gpc()) {
function _addSlashes(&$v,$k){
$v=addslashes($v);
}
array_walk_recursive($_GET,'_addSlashes');
array_walk_recursive($_POST,'_addSlashes');
array_walk_recursive($_COOKIE, '_addslashes');
//可以根据需要自行添加待处理数组
}
[/CODE]
2、自写函数,用递归处理
[CODE=php]
function _addSlashes(&$arr){
foreach ($arr as $k=>$v){
if(is_array($v)){
_addSlashes($v);
$arr[$k]=$v;
}elseif(is_string($v)){
$arr[$k]=addslashes($v);
}
}
}
if (!get_magic_quotes_gpc()) {
_addSlashes(&$_GET);
_addSlashes(&$_POST);
_addSlashes(&$_COOKIE);
}
[/CODE]
[/FONT-SIZE]

已经有(0)位网友发表了评论,你也评一评吧!
原创文章如转载,请注明:转载自Eddy Blog
原文地址:http://www.rrgod.com/webdesign/857.html     欢迎订阅Eddy Blog

记住我的信息,下次不用再输入 欢迎给Eddy Blog留言