php中字符转义的两种方法

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


一般在做网站时都需要对用户提交的查询字符串进行转义,以防止sql注入,php中简单的可以用addslashes($str)函数来实现,对于多维数组,需要遍历每个数组元素进行处理,有两种办法:
1、系统自带的相关函数

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');
	//可以根据需要自行添加待处理数组
}
2、自写函数,用递归处理

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);
}

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

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