2013-07-22 1 views
3

JSON을 "AJAX"(실제로 JSON 용 AJAJ) 양식에서 application/json으로만 허용하는 경우 CSRT 토큰을 사용할 필요가 없습니다. 맞습니까?"AJAX"- 전용 "application/json"- 전용 POST에 CSRF 토큰이 필요합니까?

누군가가 멋진 POST-to-IFrame 해킹을 사용하여 다른 페이지에서 양식을 게시하려고하면 application/x-www-form-urlencoded이되며 즉시 버릴 수 있습니다.

누군가 AJAJ를 사용하여 양식에 게시하려고하면 OPTIONS에 허용 된 CORS 헤더가있는 경우에만 성공합니다.

결론 : CORS를 사용하지 않는 한 application/x-www-form-urlencoded 대신 application/json을 사용할 때 CSRF로부터 안전합니다.

모순이 있습니까?

답변

1

이 부분을보세요. Sec.SE question and answer 간단히 말해서 : 당신은 정확합니다 (현재). 그러나이 행동에 의존하는 것은 좋지 않을 것입니다. 그래서 어쨌든 토큰을 사용하십시오.

관련 문제