우리는 ASP.NET MVC 서버 앱에 게시물을 작성하는 iOS 모바일 앱을 objective-c로 작성하고 있습니다. iPhone에서 HTTP 스택 (및 쿠키 등)은 Safari와 공유되는 것으로 보입니다. 이로 인해 우리는 XSRF 공격을받을 수 있습니다. 그래서 실수하지 않는 한 위조 방지 토큰으로 POST를 보호하고 컨트롤러 방법을 ValidateAntiForgeryTokenAttribute
으로 보호해야합니다.AntiForgery.GetTokens : oldCookieToken 매개 변수의 용도는 무엇입니까?
본인은 위조 지폐 토큰이 생성되고 검증되는 메커니즘을 제대로 이해하지 못한다고 말하면서이 질문에 답할 것입니다 ... 특히이 문맥에 사용 된 '논스 (nonce)'라는 용어는 다소 신비 롭습니다.
클라이언트에 HTML을 제공하지 않기 때문에 @Html.AntiForgeryToken()
표준을 사용할 수 없으므로 대신 AntiForgery.GetTokens
을 사용하여 클라이언트에 토큰을 확보하고 배포해야합니다. 신비한 첫 번째 매개 변수는 oldCookieToken
입니다. 지금은 null
으로 설정하고 모든 것이 잘 작동하는 것처럼 보입니다. 그래서 누구나 말해 줄 수 ... 알고리즘을 생성하는 토큰에 오래된 토큰을 사용하는 것은 무엇입니까? iOS 앱에 하나의 토큰 만 발행되고 여러 게시물에 대해 재사용되는 경우 문제가 될 수 있습니까?
글쎄 -이게 유용하다는 걸 알았어. 이유가 확실하지 않은 이유를 답으로 표시하지 않았습니다. 그래도 고마워. –
@PaulDeen : 이제 :-) – spender
참고 : 유효한 oldCookieToken을 전달하면 newCookieToken은 항상 비어 있으며 oldCookieToken과 같은 값이 아닙니다. – Alex