php中http_build_query 的一个问题

2015-01-24信息快讯网

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 远程攻击者可以利用漏洞获得敏感内存信息。请大家谨慎使用
yii框架builder、update、delete使用方法
深入HTTP响应状态码速查表的详解
web站点获取用户IP的安全方法 HTTP_X_FORWARDED_FOR检验
获取用户Ip地址通用方法与常见安全隐患(HTTP_X_FORWARDED_FOR)
PHP+jQuery实现自动补全功能源码
PHP屏蔽蜘蛛访问代码及常用搜索引擎的HTTP_USER_AGENT
利用PHP扩展vld查看PHP opcode操作步骤
PHP中通过HTTP_USER_AGENT判断是否为手机移动终端的函数代码
PHP/Javascript/CSS/jQuery常用知识大全详细整理第1/2页
Could not load type System.ServiceModel.Activation.HttpModule解决办法
php中jQuery插件autocomplate的简单使用笔记
simplehtmldom Doc api帮助文档
php中一个有意思的日期逻辑处理
php正则表达匹配中文问题分析小结
PHP中运用jQuery的Ajax跨域调用实现代码
php urlencode()与urldecode()函数字符编码原理详解
php中XMLHttpRequest(Ajax)不能设置自定义的Referer的解决方法
PHP 小心urldecode引发的SQL注入漏洞
jQuery EasyUI API 中文文档 - DateBox日期框
PHP+Mysql+jQuery实现动态展示信息
PHP+Mysql+jQuery实现发布微博程序 jQuery篇
判断Keep-Alive模式的HTTP请求的结束的实现代码
使用ThinkPHP自带的Http类下载远程图片到本地的实现代码
php设计模式 Builder(建造者模式)
php错误提示failed to open stream: HTTP request failed!的完美解决方法
jQuery 源码分析笔记
fleaphp rolesNameField bug解决方法
fleaphp crud操作之findByField函数的使用方法
The specified CGI application misbehaved by not returning a complete set of HTTP headers
©2014-2024 dbsqp.com