모든 양식에 @Html.AntiForgeryToken()
이있는 기본 MVC 프로젝트에서 특정 사용자 세션에 대해 모두 양식의 토큰 (쿠키) 값이 항상 동일하다는 것을 알았습니다. 왜 그런가요? 부분적으로는 이해합니다 (그렇지 않으면 뒤로 버튼과 같이 많은 문제가있을 것입니다). 그러나 왜 안 "소금"을 사용하여 서로 다른 양식이 다른합니다..ASP.NET MVC 위조 방지 이해
"이 방법은 사용되지 않습니다를 사용자 정의 데이터 토큰에 포함되는 지정하려면 AntiForgeryToken() 메소드 대신 를 사용하여 정적 를 사용 AntiForgeryConfig.AdditionalDataProvider 속성. "
왜 이렇게 큰가요? (예를 들어 207 바이트, 사용자 ID 이름은 7 자입니다)? 표준 세션 ID는 훨씬 더 짧습니다 (41).
'AntiForgeryToken'은 숨겨진 양식 값이 아닙니까? –
입니다. 그러나 생성 된 토큰은 쿠키와 숨겨진 필드에 저장됩니다. 포스트에서 유효성 검사를 통과하기 위해서는 값이 동일해야합니다. – UserControl
아, 맞아. 잡았다! –