2013-10-22 3 views
5

우리는 추적에 GA를 사용하고 추적에는 __utmz 쿠키 값을 DB에 저장하는 작업이 포함됩니다. CF 10이 __utmz 쿠키를 구문 분석 할 수없는 이유를 이해하는 데 문제가 있습니다.__utmz 쿠키를 파싱 할 수 없습니다.

CF10이 __utmz 쿠키의 값을 구문 분석하거나 제대로 검색하지 못하거나 CFGLOBALS가 아닌 다른 '동일한 (=)'기호가있는 쿠키 값을 검색하지 않습니다. 여기

은 (COOKIE 범위의하는 cfdump를 사용) 문제의 스크린 샷 -

이 어떻게 보일지 -

Improper Google Analytic cookie read - 그것은처럼 보이는 무엇

Proper Google Analytic cookie read

서버 구성 : CF1 0, IIS 7.5, Win 2k8

+0

도메인에서 GA 도메인에 의해 설정된 쿠키에 액세스 할 수 있습니까 (아마도 _on_) 있습니까? – duncan

+0

@ 던컨 예. 다른 모든 쿠키는 괜찮습니다. 이 하나만 있으면 문제가 있습니다. – Sanjeev

답변

1

Ok! 이 문제를 완화 할 방법을 찾았습니다. GetHttpRequestData() 메서드를 사용하여.

<cfscript>  
    _cookie = GetHttpRequestData().headers.cookie; 
</cfscript> 

; 구분 된 쿠키 값 목록. regEx를 사용하여 필요한 __utmz 값을 선택했습니다.

0

방금이 문제가 발생했습니다. CF8에서 일하는 일부 코드는 CF10에서 작동을 멈췄습니다. 원시 쿠키 값을 얻으려면이 함수를 만들었습니다.

<cffunction name="GetRawCookie" output="false" returntype="string"> 
    <cfargument name="cookieName" type="string" required="true"> 
    <cfset local.cookies = GetHttpRequestData().headers.cookie> 
    <cfset local.cookieValue = ""> 
    <cfset local.match = reFindNoCase("(?:^|;)\s*" & arguments.cookieName & "=([^;]+)", local.cookies, 1, true)> 
    <cfif local.match.pos[1] gt 0> 
     <cfset local.cookieValue = mid(local.cookies, local.match.pos[2], local.match.len[2])> 
    </cfif> 
    <cfreturn local.cookieValue> 
</cffunction> 
관련 문제