2016-08-23 5 views
3

클라이언트 서버 응용 프로그램에서 서버가 요청마다 양식에 숨겨진 다른 토큰과 함께 html을 보내므로이 질문을합니다. 이 토큰은 서버에서 비밀 키로 작성됩니다.각도 2 - 각도 2에서 csrf 토큰을 사용하는 것이 합리적입니까?

그러나 각도 2는 모든 클라이언트가 이미 클라이언트에 있습니다. 폼에는 그가 필요로하는 토큰이 들어 있습니다. 비밀 키가 클라이언트에 있고, 저에게 그것은 이미 하나의 보안 위반입니다.

그래서 Angular 2에서 csrf 토큰을 사용하는 것이 맞는지 질문합니다. 대답이 '예'라면 어떻게 할 수 있습니까?

+1

XSS 또는 CSRF로 각도 2 (베타)가 어떻게 처리 될 수 있습니까? (http://stackoverflow.com/questions/36594516/how-does-angular-2-beta-handle-with-xss- or-csrf) –

답변

3

각도 2는 double-submit cookie pattern으로 알려진 CSRF/XSRF 완화 전략을 포함합니다. Angular documentation에서

Angular http 클라이언트에는이 기술에 대한 지원 기능이 내장되어 있습니다. 기본값 CookieXSRFStrategy은 XSRF-TOKEN이라는 쿠키를 찾고 모든 요청에 ​​대해 쿠키의 값이 X-XSRF-TOKEN 인 HTTP 요청 헤더를 설정합니다. 서버는 XSRF-TOKEN 쿠키를 설정하고 각 상태 수정 요청에 대한 응답 헤더의 유효성을 검사해야합니다.

따라서 http 서비스를 사용하는 경우 CSRF 보호를 얻으려면 각도 측에서 추가 작업을 수행 할 필요가 없습니다. 서버는 헤더와 쿠키 값이 동일한 지 확인해야합니다.

+0

안녕하세요 네이트, 로그인을했는데 내 앱에서 양식을 보내고 서버에 대한 요청을 잡았습니다. 둘 다 'csrf'또는 'XSRF'라는 단어를 찾지 못했습니다. 그래서 그것은 쿠키로 보였지만 PyCharm과 관련이 있습니다. CSRF 보호가 Angular 2로 기본 설정되어 있다면 어떻게 활성화합니까? – rafaelcb21

+1

@ rafaelcb21 백엔드 란 무엇입니까? 백엔드 서버 환경 및 관련 코드의 세부 사항을 별도의 질문으로 게시하는 것이 좋습니다. –