2016-10-26 4 views
2

내 응용 프로그램에 쿠키가 있었으므로 angularJS ngCookies를 사용하여 읽어야합니다. 내가 브라우저 확장에서 쿠키를 내보낼 때 은 다음 JSON과 같습니다 이름으로 쿠키 값을 읽어야합니다. anglejs

[ 
    { 
    "domain": "localhost", 
    "hostOnly": true, 
    "httpOnly": false, 
    "name": "JSESSIONID", 
    "sameSite": "no_restriction", 
    "secure": true, 
    "session": true, 
    "storeId": "0", 
    "value": "00FC04BF082458FFE6F175C7E03F5712", 
    "id": 18 
    } 
] 

가 'JSESSIONID'과 함께이 JSON에서 더 많은 개체가있을 수 있습니다. 그래서 JSESSIONID의 값만 읽길 원합니다.

내 코드 :

var jsessionCookie = $cookies.get('JSESSIONID'); 
console.log(" Cookies 'JSESSIONID' : "+jsessionCookie); 

나는 정의되지 않은 객체를 얻고있다.

답변

0

코드는 괜찮은 것처럼 보이지만 기본적인 문제는 다릅니다.

당신이 쿠키는 Angular.js를 포함하여 클라이언트 측 코드에 액세스 할 수 없음을 의미
"httpOnly": true 

로 쿠키가 표시되어 있습니다.

유일한 방법은 코드를 생성하는 코드를 변경하여 쿠키가 httpOnly으로 표시되지 않도록하는 것입니다. 변경시 보안 고려 사항이 있으므로 작업 내용을 이해해야합니다.

HttpOnly에 대한 자세한 내용은 OWASP web site입니다.

+0

확인을 얻으려면 - 나는 XSS 공격을 엽니 다 거짓이 플래그를 표시 알고 (그 플래그가 지금은 '거짓'입니다 생각하지만, 나는이 문제에서 지금 당장 걱정할 필요가 없다. 나는 그것을 별도로 생각할 필요가있다.) 그런 다음 JSESSIONID 값을 읽는 방법을 알려주시겠습니까? – Devendra

0

cokkie을 저장하려면,

$cookies.put("cookie_name","cookie_value",{"expires":expireDate,"domain":"domain_name"}); 

가 저장된 쿠키를

var cookieValue = $cookies.get("cookie_name); 
+0

JSON 위의 cookie_name은 무엇이 될까요? – Devendra

+0

$ cookies.put ("JSESSIONID", "00FC04BF082458FFE6F175C7E03F5712", { "만료": expireDate, "도메인": "도메인 _ 이름}}); –

+0

'$ cookies.put ("JSESSIONID", "00FC04BF082458FFE6F175C7E03F5712", { "만료": expireDa te, "도메인": "}}); ' –

관련 문제