2012-03-26 10 views
0

ValidateAntiForgeryTokenを使用したいと思いますが...私は通常の投稿を行うようにしています。 jsonとのajaxではありません。定期的に攻撃者がクロスドメイン制限によって停止されるためです。私の質問はそうです:csrfとMVC 2の偽造トークンで、ajax投稿を検証したくありません。

私は私がAJAXでJSONを掲示するだけで、どの場合にはantiforgerytokenが機能しないのかを知っていることを知っていれば、本当にリクエストが本当にajaxリクエストであることを確認したい私のサイトから実際には、どうすればASP.Net MVC 2でそれを行うことができますか?

私の一般的な考え方は次のとおりです。ValidateAntiForgeryToken属性をすべてのアクションに定期的に投稿する。投稿が実際には他のすべてのacitonsのajax投稿であることを確認する

アクションへの投稿が本当にAJAXで、通常の投稿ではないことを確認するにはどうすればよいですか?あなたがあなた自身のValidateAntiForgeryTokenAttributeを記述する必要があります

おかげ

答えて

0

私はただ既存の属性のソースを取得してそれをあなたのwonクラスにコピーして、OnAuthorizationメソッドが "filterContext.RequestContext.HttpContext.Request.IsAjaxRequest"をチェックし、それがCSRF検証を実行するように修正します偽です。

また、簡単に、私はあなたの問題へのよりよい解決策になると言うでしょう、あなたのAJAXリクエストにCSRFトークンを添付することができ

関連する問題