2012-05-20 4 views
0

내가 사용하는 가짜에 요청의 리퍼러를 시도하고 작동하지 않습니다 변경 : 요청의 리퍼러가

<?php 

$url = "http://www.blabla.com"; 

function doMagic($url) 
{ 
    $curl = curl_init(); 

    $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,"; 
    $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5"; 
    $header[] = "Cache-Control: max-age=0"; 
    $header[] = "Connection: keep-alive"; 
    $header[] = "Keep-Alive: 300"; 
    $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7"; 
    $header[] = "Accept-Language: en-us,en;q=0.5"; 
    $header[] = "Pragma: "; 

    curl_setopt($curl, CURLOPT_URL, $url); 
    curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 6.1; WOW64; rv:7.0.1) Gecko/20100101 Firefox/7.0.12011-10-16 20:23:00"); 
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header); 
    curl_setopt($curl, CURLOPT_REFERER, "http://www.fakeRef.com"); 
    curl_setopt($curl, CURLOPT_ENCODING, "gzip,deflate"); 
    curl_setopt($curl, CURLOPT_AUTOREFERER, true); 
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($curl, CURLOPT_TIMEOUT, 10); 

    $html = curl_exec($curl); 
    echo 'Curl error: '. curl_error($curl); 
    curl_close($curl); 

    return $html; 
} 

$text = doMagic($url); 
print("$text"); 
?> 

가 나는이 PHP 스크립트를 실행하는 데 사용하고 로컬 아파치 서버가 : 로컬 호스트/script.php. 문제는 실질적인 referer (Piwik이보고하는)가 http://www.fakeRef.com이 아니라 localhost/script.php라는 것입니다.

무엇이 문제입니까?

+0

Piwik은 리퍼러가 자신의 스크립트가 될 추적 이미지를 사용합니다. –

+0

그러면 이것을 올바르게 테스트하는 방법은 무엇입니까? Piwik이 이것을 수행한다면, GAnalytics 나 다른 도구들이 이것을 할 것입니까? –

+0

내 대답에 단락을 추가했습니다. –

답변

0

실제 리퍼러 (Piwik이보고하는)는 http://www.fakeRef.com이 아니라 localhost/script.php입니다.

무엇이 문제입니까?

브라우저에서 컬링 출력의 출력을 보는 것처럼 보입니다. 그렇다면 설명은 간단합니다. Piwik은 조회수를 계산하기 위해 추적 이미지를 사용합니다. 브라우저은 추적 이미지를로드합니다. 이미지의 리퍼러는 HTML 코드를 가져 오는 데 사용한 가짜 값이 아니라 스크립트가됩니다.

이렇게하면 리퍼러를 설정할지 여부를 테스트하려면 서버 액세스 로그를 확인하십시오. script.php 요청에 위장한 리퍼러가 있어야합니다.

관련 문제