php str_replace的替换漏洞
发布时间:2020-12-13 05:22:29 所属栏目:PHP教程 来源:网络整理
导读:定义和用法 str_replace() 函数使用一个字符串替换字符串中的另一些字符。 语法 str_replace(find,replace,string,count)参数 描述 find 必需。规定要查找的值。 replace 必需。规定替换 find 中的值的值。 string 必需。规定被搜索的字符串。 count 可
定义和用法str_replace() 函数使用一个字符串替换字符串中的另一些字符。 语法 str_replace(find,replace,string,count)参数 描述 find 必需。规定要查找的值。 replace 必需。规定替换 find 中的值的值。 string 必需。规定被搜索的字符串。 count 可选。一个变量,对替换数进行计数。 提示和注释注释:该函数对大小写敏感。请使用 str_ireplace() 执行对大小写不敏感的搜索。 注释:该函数是二进制安全的。 例子 1 代码如下: echo str_replace("world","John","Hello world!"); ?> 输出: Hello John! 例子 2 在本例中,我们将演示带有数组和 count 变量的 str_replace() 函数: 代码如下: $arr = array("blue","red","green","yellow"); print_r(str_replace("red","pink",$arr,$i)); echo "Replacements: $i"; ?> 输出: Array ( [0] => blue [1] => pink [2] => green [3] => yellow ) Replacements: 1 例子 3 代码如下: $find = array("Hello","world"); $replace = array("B"); $arr = array("Hello","world","!"); print_r(str_replace($find,$replace,$arr)); ?> 输出: Array ( [0] => B [1] => [2] => ! ) 漏洞相关函数: 'http://img.52php.cn/img/offer/29/24/70/20/29247020', 'http://img.52php.cn/img/offer/29/24/70/20/29247020-1', 'http://img.52php.cn/img/offer/29/24/70/20/29247020-2' ); $arr2=Array( 'http://localhost/root/ups/af48056fc4.jpg', 'http://localhost/root/ups/cf33240aa3.jpg', 'http://localhost/root/ups/c30e40419b.jpg' ); $data=' var_dump($data); ?> 替换后的结果是: string(169)" if(is_array($arr1)){ foreach($arr1as$key=>$value){ $data=str_replace_once($value,$arr2[$key],$data); }} return$data; } functionstr_replace_once($needle,$data)//替换第一次 { $pos=strpos($data,$needle); if($pos===false){ return$data; } returnsubstr_replace($data,$pos,strlen($needle)); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |