php中http_build_query 的一个问题

 更新时间:2012年03月25日 22:20:20   作者:  
http_build_query 远程攻击者可以利用漏洞获得敏感内存信息。请大家谨慎使用
当我们使用CURL来post数据的时候,需要设置post的数据
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

假如这里的$data是
复制代码 代码如下:

$data = array(
'name'=>'scofield',
'time'=>'2012-2-3'
)

接下来,需要先将$data变成字符串
$post_data = http_build_query($data);
而采用 http_build_query 转换后再
curl_setopt($c, CURLOPT_POSTFIELDS, $post_data);

看起来没有什么问题。但在实际操作中,$post_data 并没有被post过去。于是,自己写了个转换的方法后就OK了。
复制代码 代码如下:

function getStr($array,$Separator='&') {
if (empty($array))
return;
if (!is_array($array)) {
return $array;
}
$returnStr = '';
foreach ($array as $key => $val) {
$temp = '';
if (is_array($val)) {
for ($i = 0; $i < count($val); $i++) {
$returnStr .= $key . '[' . $i . ']' . '=' . $val[$i] . $Separator;
}
} else {
$returnStr.= $key . '=' . $val . $Separator;
}
}
$returnStr = substr(trim($returnStr), 0, -1);
return $returnStr;
}

感谢 黄斌-huangbin 童鞋的测试 http_build_query($data,"","&"); 即可,无需自己写方法解析了。

http_build_query 远程攻击者可以利用漏洞获得敏感内存信息。请大家谨慎使用

相关文章

  • php文章内容分页并生成相应的htm静态页面代码

    php文章内容分页并生成相应的htm静态页面代码

    php 文章内容分页并生成对应的htm静态文件实例代码,一般主要用户长文件分页。
    2010-06-06
  • PHP防止注入攻击实例分析

    PHP防止注入攻击实例分析

    这篇文章主要介绍了PHP防止注入攻击的具体方法,实例分析了相关的字符串函数与特殊字符处理,需要的朋友可以参考下
    2014-11-11
  • PHP获取当前相对于域名目录的方法

    PHP获取当前相对于域名目录的方法

    这篇文章主要介绍了PHP获取当前相对于域名目录的方法,可实现从URL中拆分出目录名的功能,需要的朋友可以参考下
    2015-06-06
  • 详解PHP原生DOM对象操作XML的方法

    详解PHP原生DOM对象操作XML的方法

    大家都知道对于操作XML类型文件,PHP内置有一套DOM对象可以进行处理。对XML的操作,从创建、添加到修改、删除都可以使用DOM对象中的函数来进行。下面这篇文章通过示例代码给大家介绍如何进行操作,有需要的朋友们可以参考借鉴,下面来一起看看吧。
    2016-10-10
  • 简单的过滤字符串中的HTML标记

    简单的过滤字符串中的HTML标记

    简单的过滤字符串中的HTML标记...
    2006-12-12
  • 将时间以距今多久的形式表示,PHP,js双版本

    将时间以距今多久的形式表示,PHP,js双版本

    依然从项目需求出发,些了这个函数,PHP版本写了一个Smarty的插件,只要简单的修改下函数名就能直接在PHP中调用了,同时,为了AJAX翻页时所获取JSON数据中的时间以同样的方式显示,因此又写了一个JS的版本
    2012-09-09
  • PHP实现操作redis的封装类完整实例

    PHP实现操作redis的封装类完整实例

    这篇文章主要介绍了PHP实现操作redis的封装类,以完整实例形式较为详细的分析了PHP操作redis的自定义类及其相关使用方法,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • PHP 表单提交给自己

    PHP 表单提交给自己

    使用PHP进行Web开发,表单(Form)的使用随处可见,利用其属性Action和Method可以指定表单的内容要发送处理的URL以及如何将表单数据发送到服务器。
    2008-07-07
  • php动态读取数据清除最右边距的方法

    php动态读取数据清除最右边距的方法

    下面小编就为大家带来一篇php动态读取数据清除最右边距的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • php natsort内核函数浅析

    php natsort内核函数浅析

    今天发现了php有个自然排序的函数----natsort,第一次听说了原来还有一种叫做“自然排序”的算法,很好奇
    2009-08-08

最新评论