2012-03-26 6 views
0

ValidateAntiForgeryToken을 사용하고 싶습니다만 ... 작업에만 사용하고 싶습니다. 나는 정기적으로 게시물을 게시합니다. 그리고 json과 아약스가 아니야. 정기적으로 공격자가 도메인 간 제한에 의해 중단되기 때문입니다. 내 질문은 그렇습니다 :MVS 2의 csrf 및 위조 위조 토큰을 확인하지 않으려 고합니다.

내가 AJAX에서 JSON을 게시하고 어떤 경우 antiforgerytoken이 작동하지 않으므로 요청이 실제로 AJax 요청인지 확인하려는 작업이있는 경우 정말 내 사이트에서, 그 ASP.Net MVC 2 할 수있는 방법?

내 일반적인 생각은 다음과 같습니다. ValidateAntiForgeryToken 속성을 일반 작업의 모든 작업에 적용합니다. 게시물이 실제로 다른 모든 acitons의 아약스 게시물임을 확인하는 것입니다.

그래서 액션에 대한 게시물이 AJAX가 아닌 일반 게시물인지 어떻게 확인할 수 있습니까?

감사

답변

0
당신은 당신의 자신의 ValidateAntiForgeryTokenAttribute를 작성해야

.

기존 속성의 소스를 가져 와서 원 클래스에 복사 한 다음 OnAuthorization 메서드가 "filterContext.RequestContext.HttpContext.Request.IsAjaxRequest"를 확인하고 CSRF 유효성 검사 만 수행하도록 수정합니다. 그릇된.

CSRF 토큰을 AJAX 요청에 쉽게 첨부 할 수 있습니다. 귀하의 문제에 대한 더 나은 솔루션이라고 할 수 있습니다.

관련 문제