2009-04-03 2 views
0

웹 사이트 A가 있고 다른 웹 사이트에 링크가있는 것으로 가정합니다. 이 링크 중 하나는 웹 사이트 B에 대한 링크 일 수 있습니다. 기존 솔루션, 오픈 소스 또는 웹 사이트에서 링크를 클릭 한 사람, 위치, 위치 등을 추적 할 수있는 곳에서 비용을 지불해야하는 방법이 있습니까? 웹 사이트 B에?웹 사이트 A에서 웹 사이트 B로 링크를 클릭 한 사람을 캡처 하시겠습니까?

웹 사이트 B는 Stackoverflow가 될 수 있으며 내 웹 사이트는 www.websiteA.com이므로 내 웹 사이트에는 www.stackoverflow.com에 대한 링크가 있습니다. 사용자가 내 페이지에서 www.stackoverflow.com을 클릭하면 이름, 전화 번호 등의 정보를 캡처하고 싶습니다 (사용자가 실제로 내 웹 사이트에 로그인하지 않은 경우이를 수행 할 수 있는지 확실하지 않음). 이 경우이 페이지는 누구나 액세스 할 수있는 공개 페이지입니다. 내가 내 웹 사이트에서 할 수 없다면, stackoverflow에게이 특정 사용자가 내 링크를 클릭하여 귀하의 웹 사이트를 방문하고 그들의 정보가 필요하다는 것을 알 수있는 방법이 있습니까?

+0

당신은 또한 웹 사이트 B를 제어 할 수 리디렉션? –

+0

아니요. 이것은 StackOverFlow와 비슷할 수 있습니다. – Xaisoft

+0

다음 질문에서 그 말을하고 싶을 것입니다. –

답변

12

대부분의 사이트는이를 위해 사용하는 방법이있을 것입니다 : 그들은 출처를 알 수 있도록 그 외에는

Request.UrlReferrer.ToString 

, 당신은 웹 사이트 A로부터의 링크에 추가 쿼리 매개 변수를 추가 할 수 사이트의 스크립트가 리디렉션을 처리합니다. 그래서 링크가 직접되는 대신 :

http://websiteB.com

링크가 같은 것을 간다 :

http://websiteA.com/link/websiteB.com

는 "링크"스크립트는 요청을 기록 그 다음 주소로 전달합니다 (이 작업은 즉각 수행되어야하며, "전달"을하지 마십시오. 웹 사이트 B를 3 초 만에! "페이지).

귀하의 사이트에 방문자로, 내가 링크를 마우스로 가리키면 링크의 대상이 명백한 방법을 선호한다는 점에 유의하십시오. 일부 사이트에서 사용하는 방법은 ID가 보이는 곳과 반대입니다.

http://websiteA.com/link/483

할 수있는 대상을 표시 : 그들은 대신 같은 링크가

http://websiteA.com/link/websiteB.com

: 내 말은 대신 같은 링크되는 뭔가있다 몇 가지 방법으로 성취 될 수있다. 한 가지 방법은 위에서 설명한 것처럼 대상이 쿼리 문자열의 일부인 경우입니다. 또는이를 위해 일부 Javascript를 사용할 수 있습니다. 상태 표시 줄의 값은 window.status 변수를 설정하여 Javascript로 변경할 수 있지만 많은 브라우저가 기본적으로이를 방지합니다 (예 : Firefox).

Google은 실제로 자바를 사용하여 상태 표시 줄 대신 링크을 변경하여이 문제를 해결할 수있는 방법을 찾았습니다. 페이지가로드되면 결과 목록의 링크가 실제 목적지로 이동하지만 클릭하면 모든 링크에 링크가 변경되는 onmousedown 자바 스크립트 이벤트가 있습니다. 링크를 마우스 오른쪽 버튼으로 클릭하면이 동작을 볼 수 있습니다. 이 작업을 완료하면 링크 위로 마우스를 가져 가면 결과의 실제 URL 대신 상태 표시 줄에 진정한 대상 (Google의 클릭 추적 스크립트)이 표시됩니다.

물론 어떤 방법으로 표시되는 정보는 내가 실제로 보내질 곳을 허위로 보여줄 수 있지만 의미없는 ID 번호를 보는 것보다 선호합니다.

+0

+1 아주 좋은 설명. –

+0

저는 자바 스크립트에 대한 최신 정보를 얻지 못했습니다. 어떻게 수행되는지 예제가 있습니까? – Xaisoft

+0

일부 정보는 내 대답에 편집 할 것입니다. –

0

시도 HTTP_REFERER

+0

그가 지정하지 않은 웹 사이트 B를 제어하는 ​​경우에만 작동합니다. –

+0

나는 웹 사이트 B를 제어 할 수 없다. 예를 들어, 웹 사이트 B가 stackoverflow이고 상상할 수있는 stackoverflow 링크가 있다고 상상해 보라. 누군가가 내 사이트의 링크를 클릭하여 stackoverflow에 도착하면 정보를 얻을 수 있습니까? – Xaisoft

+0

알겠습니다. 그래서 당신은 다른 답변 =)에서 설명한 방법을 사용하여 고려해 볼 수 있습니다. – Gero

0

당신은 항상 리퍼러를 확인할 수 있습니다를 사용하지만,이 스푸핑 될 수 있습니다.

<a href="www.websiteb.com?from=websitea"> 
0

웹 사이트 B를 제어하는 ​​경우 로깅에서 http_referer 부분 만 사용하면됩니다. 그렇지 않으면 사이트 A에 리디렉션 페이지가 있고 URL을 기록한 다음 브라우저를 다른 사이트/페이지로 리디렉션하는 것이 좋습니다.

http://siteA/redirect?url=siteB/page 

사이트 A의 리디렉션 페이지는 ..

"http://" + request['url']