2012-02-24 46 views
2

我有一個ASP MVC網站,使用JSON編碼通過ajax的wcf服務。 是否有任何構建與ajax < - > wcf服務使用防僞造令牌?如何使用防僞造令牌與ajax wcf服務

這是它如何在asp mvc應用程序中使用。 http://weblogs.asp.net/dixin/archive/2010/05/22/anti-forgery-request-recipes-for-asp-net-mvc-and-ajax.aspx

+0

請描述「anti antigery token」。這與登錄會話有何不同? – 2012-02-24 00:35:35

+0

我假設他指的是[nonce](http://en.wikipedia.org/wiki/Cryptographic_nonce)。 – aroth 2012-02-24 00:37:27

+3

如果你不知道什麼是反僞造令牌比甚至不試圖回答:)。一般來說,它的方式來防止防止跨站點請求僞造 http://weblogs.asp.net/dixin/archive/2010/05/22/anti-forgery-request-recipes-for-asp-net-mvc-and- ajax.aspx – 2012-02-24 01:13:15

回答

0

防僞造令牌我敢肯定,你知道是默認提供的MVC框架您使用Ajax WFC這真的沒有什麼關係MVC除了概念的大綱。

您將通過MVC視圖向WCF服務提供安全Ajax調用,漫漫長路。

首先,您需要使用Ajax Anti Forgery令牌實現,請參閱下面的鏈接。您還需要一個數據庫來管理具有到期日期的WCF令牌。

您需要在加載時轉儲出WCF令牌,並在每個WCF請求上傳遞令牌。令牌將根據數據庫進行驗證。如果令牌已過期,則需要使用AJAX Anti Forgery令牌執行另一個Ajax請求以生成新的WCF令牌,並返回該令牌並在您的WCF Ajax請求中使用該令牌。

總之,您將有兩個令牌來驗證您的MVC控制器的Ajax請求,另一個用於WCF請求。此方法將爲您提供安全的請求模型,以減少CSRF的機會。

更多關於CSRF:http://www.troyhunt.com/2010/11/owasp-top-10-for-net-developers-part-5.html

MVC阿賈克斯ANIT僞造令牌:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

希望這有助於。