>백엔드 개발 >PHP 튜토리얼 >아름다운 작별 인사 PHP의 http_build_query 문제

아름다운 작별 인사 PHP의 http_build_query 문제

WBOY
WBOY원래의
2016-07-29 08:48:22973검색

CURL을 사용하여 데이터를 게시하는 경우 게시 데이터를 설정해야 합니다.
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가 게시되지 않습니다. 그래서 변환방법을 작성했는데 괜찮았습니다.

코드 복사 코드는 다음과 같습니다.


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); $returnStr .= $key . '=' . $Separator
🎜>} else {
$returnStr.= $key . '=' . $Separator
}
}
$returnStr = substr($returnStr), 0 1);
return $returnStr;
}


http_build_query($data,"","&")를 테스트해 주신 Huang Bin-huangbin에게 감사드립니다. 그것을 분석하는 자신의 방법.
http_build_query 원격 공격자는 이 취약점을 악용하여 민감한 메모리 정보를 얻을 수 있습니다. 주의해서 사용해주세요

위의 내용은 Beautiful Goodbye PHP의 http_build_query 문제를 소개하며, PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.