2014-07-15 3 views
-5

우리는 우리 웹 사이트 이외의 리퍼러를 캡처 할 수있는 작은 응용 프로그램을 개발 중입니다. 우리는 다음과 같이 참조 자 얻기 위해 코드 아래에 사용한 : 위의 코드는 거의 모든 다른 웹 사이트와 잘 작동PHP에서 HTTP 리퍼러를 가져올 수 없습니다.

if(isset($_SERVER["HTTP_REFERER"])){ 
    $referrer = $_SERVER["HTTP_REFERER"]; 
} 

을하지만, 우리는 "HTTP_REFERRER"변수가 페이스 북, 링크드 인, 야후 같은 많은 웹 사이트에 대한 정의되지 않은 것으로 나타났습니다 결과적으로 이러한 웹 사이트를 캡처 할 수 없습니다.

리퍼러 웹 사이트를 캡처하는 데 사용할 수있는 다른 방법이 있습니까?

+1

리퍼러는 전송하지 않아도됩니다. 브라우저에 전송할 것인지 말지를 결정할 수 있기 때문에 조사한 경우에는 존재할 것으로 기대할 수있는 것이 아닐 수도 있습니다. –

+2

아니요. Referer 헤더는 존재하지 않을 수 있으며 쉽게 스푸핑 될 수 있으며 특히 비 https 사이트에 보안 사이트 (예 : Facebook 또는 LinkedIn과 같은 https를 사용하는 보안 사이트)가 전달하지 않습니다. [ "참조 페이지가 보안 프로토콜로 전송 된 경우 고객은 (보안되지 않은) HTTP 요청에 Referer 헤더 필드를 포함해서는 안됩니다."] (https://tools.ietf.org/html/rfc2616#section-15.1) .삼). –

+0

답장을 보내 주셔서 감사합니다! 우리 사이트가 https 보안을 확보하고 있다면 그 경우 페이스 북, 야후 등의 리퍼러를 얻을 수 있는지 알고 싶습니다. 또는 이것을 포착하는 다른 방법. – user2393886

답변

0

이 사이트에서 사용하는 링크에 유의하십시오. 그들은 직접 링크가 아니며 의도적으로 브라우저가 리퍼러 헤더를 보내지 않도록합니다. 이 문제를 해결할 방법이 없습니다.

관련 문제