2016-09-07 2 views
3

안녕하세요, Javascript SDK와 Application Insights를 사용하고있는 웹 애플리케이션이 있습니다. Chrome 개발자 도구에는 안전하지 않은 2 개의 쿠키, ai_user 및 ai_session이 있음을 알 수 있습니다. 이미 다른 모든 쿠키를 안전하게 유지하도록 앱의 코드를 변경했지만 이러한 쿠키도 안전하게 관리 할 수는 없습니다. Microsoft Application Insights documentation page 에 직접 질문을 올렸고 스크립트를 업데이트하라는 메시지가 표시되어 오류가 발생했지만 여전히 쿠키가 안전하지 않습니다. (자세한 내용은 위의 링크의 댓글 섹션에있는 내 코멘트에 있습니다. 현재이 절의 첫 번째 주석입니다). 나는 그들에게 다시 물었다. 그러나 그들은 더 이상 대답하지 않았다. 응용 프로그램의 통찰력을 초기화Application Insights 보안 쿠키

내 현재 코드는

var appInsights = window.appInsights || function (n) { 
      function t(n) { i[n] = function() { var t = arguments; i.queue.push(function() { i[n].apply(i, t) }) } } var i = { config: n }, u = document, e = window, o = "script", s = "AuthenticatedUserContext", h = "start", c = "stop", l = "Track", a = l + "Event", v = l + "Page", y = u.createElement(o), r, f; y.src = n.url || "CDN_PATH"; u.getElementsByTagName(o)[0].parentNode.appendChild(y); try { i.cookie = u.cookie } catch (p) { } for (i.queue = [], r = ["Event", "Exception", "Metric", "PageView", "Trace", "Dependency"]; r.length;) t("track" + r.pop()); return t("set" + s), t("clear" + s), t(h + a), t(c + a), t(h + v), t(c + v), t("flush"), n.disableExceptionTracking || (r = "onerror", t("_" + r), f = e[r], e[r] = function (n, t, u, e, o) { var s = f && f(n, t, u, e, o); return s !== !0 && i["_" + r](n, t, u, e, o), s }), i 
     }({ 
      url: '//az416426.vo.msecnd.net/scripts/a/ai.0.js', 
      enableDebug: __solutionConfigurationIsDebug, 
      instrumentationKey: __applicationInsightsInstumentationKey 
     }); 

     window.appInsights = appInsights; 
     appInsights.trackPageView('index.html'); 

내가 그렇지 않으면 잘못된 물론이다 "로컬 호스트/CDN_PATH"가리키는 된 'URL'속성을 추가했다입니다.

업데이트 :이 작업을 수행하는 더 좋은 방법을 발견했기 때문에 나는 또한,

답변

3

좋아요 ... 내가 찾고 있어요하지만 여전히 열려 정확히 것 같다 GitHub의에 this issue을 발견, 내가 압축 해제 한 ApplicationInsights (소스 코드 here 발견처럼 라인 (254)을 변경할 수 :

i.canUseCookies() && (i.document.cookie = n + "=" + t + u + ";secure;path=/") 

(간단히 I의 '고정' '추가 한 기존 문자열에 문자열) I는 다음 JS 코드를 다시 압축했다. 내 AI 초기화 스크립트를 다음과 같이 변경했습니다.

var snippet = { 
      config: { 
       enableDebug: __solutionConfigurationIsDebug, 
       instrumentationKey: __applicationInsightsInstumentationKey 
      } 
     }; 
     var init = new Microsoft.ApplicationInsights.Initialization(snippet); 
     var appInsights = init.loadAppInsights(); 

이제 작동합니다 (쿠키는 이제 안전함으로 설정 됨). 그러나 더 나은 접근 방법은 여전히 ​​열려 있습니다. 이것은 아마도 corresponding GitHub repository을 포크하라는 의미 일 것이며, 아마도 나중에 시도 할 것입니다.

+1

변경 사항이있는 공식 GitHub 저장소로 끌어 오기 요청을 제출해 보셨습니까? 또한 PR을 제출하기 전에 해당 repo에 관한 이슈를 작성하여 토론 할 수 있습니다. – Jaxidian

+1

나는이 문제에 관해 이미 알게되었으며, 최근 업데이트는 3 주 전으로,이 게시물보다 훨씬 젊다. https://github.com/Microsoft/ApplicationInsights-JS/pull/379 –

관련 문제