2013-01-04 5 views
0

Google 웹 사이트에 코드를 사용하고 웹 사이트 방문 기간을 추적 할 자바 스크립트 스 니펫 코드 (Google Analytics와 비슷 함)를 고객에게 제공하고 싶습니다. 나는 이것을 위해 쿠키를 사용하고 싶다.자바 스크립트 또는 PHP를 통해 쿠키 삭제

내 유일한 질문은 구현하는 가장 좋은 방법입니다. 몇 가지 옵션을 내가 염두에두고 :

  1. 나는 (내 도메인에 앉아있을 것입니다)하고는 제 3 자 쿠키로 간주됩니다 PHP에서 쿠키를 설정해야합니까?
  2. 또는 내 클라이언트에서 쪽을로드하므로 자바 스크립트에서 쿠키를 설정해야합니까?
  3. 아니면 자바 스크립트로 쿠키를 설정하고 PHP로 에 액세스하는 가장 좋은 방법일까요?
+0

'드롭'쿠키를 말하면 무엇을 의미합니까? – vodich

+0

쿠키를 설정하면 사용자를 추적하고 페이지에 머문 시간을 추적 할 수 있습니다. – CodeCrack

+0

이 부분을 참조하십시오 http://stackoverflow.com/questions/3534932/how-to-track-user-time-on-site – vodich

답변

2

JavaScript로 쿠키를 설정하면 쿠키의 도메인은 도메인이 아닌 웹 사이트의 도메인이됩니다. 그래서 정보가 같은 일을 할 때 사용할 수 없습니다.

<script src="http://example.com/tracking-js.php"></script> 

다른 말로하면 작동하지 않습니다.

대신 AJAX를 사용하여 웹 서비스에 클라이언트 정보를 보내거나 빈 이미지를로드하여 (Google이 어떻게하는지) 클라이언트 정보를 보내야합니다.

JavaScript에는 사용할 수 있지만 서버에는 보내지 않는 매개 변수가 많이 있습니다 ($_SERVER에는 없음). Google은 해당 정보를 GET 매개 변수로 추가합니다.

그러나 실제로 데이터가 필요하지 않은 경우 가장 쉬운 방법은 클라이언트의 웹 사이트에 이미지로 스크립트를 포함시키는 것입니다.

<img src="http://example.com/tracking.php" /> 

$_SERVER['HTTP_REFERRER']는 스크립트가 포함 된 페이지의 URL 될 것입니다. Content-Type'image/gif'으로 설정하고 빈 1px gif를 출력하십시오.

AJAX를 사용하는 경우 CORS을 사용해야합니다. 즉 Access-Control-Allow-Origin 응답 헤더를 설정해야합니다.

jQuery없이 AJAX를 사용하면 고통 스러울 수 있습니다. 당신이 응답에 대해 신경 쓰지 않기 때문에 추적 이미지 (자바 스크립트 사용)를 만드는 것이 가장 좋은 방법 일 것입니다. this article을 기본으로 구현하는 방법을 읽어보십시오.

+0

AJAX 솔루션이 더 최적이 될 수 있도록 데이터가 필요합니다. 그것에 대해 더 자세히 설명해 주시겠습니까? 내 js 스크립트를 통해 jquery 라이브러리를 클라이언트 측에서로드하거나 스 니펫을 제공하여로드 할 수 있습니까? 그런 다음 고유 한 클라이언트 ID + 사이트 정보가있는 쿠키를 설정하고 아약스를 통해이 정보를 PHP 스크립트에 전달합니까? – CodeCrack

+0

AJAX/CORS +에 대한 정보를 추가하면 이미지 추적에 대한 유용한 정보로 연결됩니다. AJAX가 아닌 추적 이미지를 사용하는 것이 좋습니다. 이는 잘 검증 된 방법입니다. –

+0

감사합니다. 그러나 실제로는 방문 기간을 추적하고 싶을뿐만 아니라 PHP 스크립트의 응답을 기반으로 다른 사이트를 가리키는 이미지 또는 링크를 표시하기 때문에 응답에 신경 쓰고 있습니다.(PHP 스크립트는 데이터베이스의 특정 매개 변수를 기반으로 사이트를 선택합니다.) 이 경우 어떻게 작동할까요? – CodeCrack