2013-09-11 3 views
0

쿠키 헤더를 추가하여 보안되지 않은 HTTP 요청으로 보안 쿠키를 보내려고합니다. 이를 위해 쿠키 헤더를 추가하기 위해 다음과 같은 코드를 사용하고 있습니다. Fiddler과 같은 스니퍼를 사용하여 헤더를 확인할 때 http 요청 헤더에 보안 쿠키가 포함되지 않습니다. 저장소에 보안 쿠키가 있다고 가정하면이 코드가 맞습니까? 아니면 더 좋은 방법이 있습니까? 보안되지 않은 요청으로 보안 쿠키를 보내도록 지정

는 작동하지만 당신이 chrome.webRequest.onBeforeRequest에 대해서도 듣고 여기에 쿼리 쿠키를 시작할 수 있다면

chrome.webRequest.onBeforeSendHeaders.addListener(
    function(details) { 
     chrome.cookies.getAll({'domain': ".example.com", 'secure': true}, function (cookies) { 
      cookies.forEach(function(cookie){ 
       details.requestHeaders.push({name:"Cookie",value: cookie.name + "=" + cookie.value}); 
      });     
     }); 

    return {requestHeaders: details.requestHeaders}; 

    }, {urls: ['http://*/*']}, ["blocking", "requestHeaders"]); 
+0

문제는 'chrome.cookies.getAll'은 비동기식이며'onBeforeSendHeaders' 콜백이 완료된 후에 * 콜백이 실행될 때까지 콜백이 실행되지 않습니다. 그래도 문제를 해결하는 방법을 모르겠습니다. – apsillers

+0

[HTTPS Everywhere] (https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp)의 소스 코드를 확인하십시오. 이 Chrome 확장 프로그램은 사용자가 원하는 것과 정확히 반대되는 기능을합니다. 즉 쿠키에 '보안'플래그를 설정해야합니다. 이것을 달성하는 데 사용 된 방법은 귀하의 경우에도 사용할 수 있습니다. 추신. [CRX 뷰어] (https://chrome.google.com/webstore/detail/chrome-extension-source-v/jifpbeccnghkjeaalbbmodiffmgedin) –

답변

-1

확실하지, 감사합니다. 아마 BeforeBeforeSendHeaders가 전화 할 때 그들은 준비가 될 것입니다. 또는 이미 열려있는 탭에서 도메인에 필요한 쿠키를 미리 캐시 할 수 있습니다.

+0

을 사용하면 확장 프로그램의 소스 코드를 쉽게 볼 수 있습니다. 안전한 솔루션은 아니므로 값을 사용하게 될 때까지 통화가 완료됩니다. – rob

0

제가 취하려고하는 해결책은 쿠키 데이터에 대한 요청/응답 헤더를 수동으로 가져 오거나 설정하는 것입니다.

관련 문제