2014-10-08 4 views
2

AntiForgeryToken은 MVC 5 솔루션의 양식에 있습니다. 그리고 잘 작동합니다. 하지만 내 고객이 일부 추천 웹 사이트를 가지고 있습니다. 예를 들어 내 도메인이 www.mysite.com 인 경우 URL은 www.mysite.blabla.com입니다.참조 웹 사이트에 대한 요청 확인 토큰을 해결하는 방법

것은 좋은 일입니다 만, 경우에 그는 열 경우 www.mysite.blabla.com 및 (POST) 양식을 제출 만든다, 나는 내가 볼 ELMAH 로그에서 오류 The required anti-forgery cookie "__RequestVerificationToken" is not present.

을 얻고 사용자 열린 정상 웹 사이트 경우 다음 값

HTTP_HOST www.mysite.com 

HTTP_REFERER http://www.mysite.blabla.com/ 

HTTP_X_FORWARDED_HOST www.mysite.blabla.com 

HTTP_X_FORWARDED_SERVER www.mysite.blabla.com 

SERVER_NAME www.mysite.com 

이 도메인에서 내 작품을 사용할 수 있도록 허용해야합니다. 이 도메인에 대한 요청을 허용하기 위해 설치용 토큰을 설정할 수 있습니까? 하거나 하나의 솔루션입니다 :

@ Html.AntiForgeryToken()

답변

0

AnitForgeryToken의 목표는 당신의 행동에 게시에서 다른 사이트를 방지하는 것입니다을 제거합니다. 이는 예상되는 동작입니다. 사이트 간 요청 위조 공격을 방지합니다.

링크하려는 경우 표준 GET 요청이 있어야합니다.

+0

예, 사실이지만 해결책이있을 수 있습니다. –

+0

당신은'my.url.com? value = abc & value2 = 123'이라는 GET 요청을 사용하거나'AntiForgeryToken'을 꺼내서 잠재적 인 공격에 웹 사이트를 열어야합니다. – ps2goat

+0

예, 그렇지만 CAPTCHA는 무엇이 있습니까? –