【问题标题】:How to use anti forgery token with ajax wcf service如何在 ajax wcf 服务中使用防伪令牌
【发布时间】:2012-02-24 00:34:01
【问题描述】:

我有一个 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

【问题讨论】:

标签: c# ajax wcf antiforgerytoken


【解决方案1】:

Anti Forgery Token 我确定您的意识在 MVC 框架中默认是可用的,您正在使用 Ajax 到 WCF,这实际上与 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 防伪造令牌:http://blog.stevensanderson.com/2008/09/01/prevent-cross-site-request-forgery-csrf-using-aspnet-mvcs-antiforgerytoken-helper/

希望这会有所帮助。

【讨论】:

    猜你喜欢
    • 2015-05-11
    • 2013-11-16
    • 2016-10-25
    • 1970-01-01
    • 2015-01-11
    • 1970-01-01
    • 2021-02-15
    • 1970-01-01
    • 2023-04-09
    相关资源
    最近更新 更多