我有一个ASP MVC网站,它通过JSON编码中的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 :(得分:0)
Anti Forgery Token我确信您在使用Ajax到WFC的MVC框架中默认可以使用它,这与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 Ajax anit Forgery令牌:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/
希望这有帮助。