때로는 CURL을 사용하여 무언가를 완료하기 위한 요청을 시뮬레이션해야 합니다. 하지만 현실은 항상 이상과 다소 다를 수 있습니다. 상대방 서버에서는 요청한 소스 정보에 대해 일부 제한이 있을 수 있습니다. 이 상황을 어떻게 처리해야 할까요? 이 기사에서는 컬이 소스 정보를 위장하여 서버의 소스 정보 제한을 속이는 방법을 설명합니다.
[one.php]
<?php $post_data = array ( "user" => "admin", "pwd" => "123456" ); $header_ip = array( 'CLIENT-IP:8.8.8.8', 'X-FORWARDED-FOR:8.8.8.8', ); $referer='http://www.liangshao.com'; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, 'http://localhost/curl/two.PHP'); //伪造来源referer curl_setopt ($ch,CURLOPT_REFERER,$referer); //伪造来源ip curl_setopt($ch, CURLOPT_HTTPHEADER, $header_ip); //提交post传参 curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data); //加上这个表示执行curl_exec是把输出做为返回值,不会输出到浏览器 curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); $out_put=curl_exec ($ch); curl_close ($ch); echo $out_put;
[two.php]
<?php //请求来源referer echo '[HTTP_REFERER]<br>'; echo $_SERVER['HTTP_REFERER']; //请求来源ip //[注]此处的IP打印顺序是目前很多开源系统的IP获取顺序 echo '<hr>[IP]<br>'; echo $_SERVER['HTTP_CLIENT_IP']; echo '<br>'; echo $_SERVER['HTTP_X_FORWARDED_FOR']; echo '<br>'; echo $_SERVER['REMOTE_ADDR']; //POST数据 echo '<hr>[POST]<br><pre class="brush:php;toolbar:false">'; var_dump($_POST); echo '';
관련 읽기;
php CURL 쿠키 가져오기 시뮬레이션 로그인 방법 코드 예제
PHP 컬은 인증 코드를 사용하여 웹사이트에 로그인하는 것을 시뮬레이션합니다
위 내용은 PHP 컬 변장 소스 정보의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!