In einigen Fällen müssen wir CURL verwenden, um Anfragen zu simulieren, um etwas abzuschließen. Die Realität weicht jedoch immer etwas vom Ideal ab. Der Server der anderen Partei unterliegt möglicherweise einigen Einschränkungen hinsichtlich der angeforderten Quellinformationen. In diesem Artikel erfahren Sie, wie Sie Curl Quellinformationen verschleiern lassen, um die Quellinformationsbeschränkungen des Servers zu täuschen.
[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 '';
Verwandte Lektüre;
Codebeispiel für die PHP-CURL-Methode zum Erhalten von Cookies zur Simulation der Anmeldung
Detaillierte Erläuterung der Methode zur Fehlerbehebung bei PHP-Curl-Fehlern
PHP Curl simuliert die Anmeldung auf einer Website mit Bestätigungscode
Das obige ist der detaillierte Inhalt vonQuellinformationen zur PHP-Curl-Tarnung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!