我发现了一些有关将AntiForgeryToken与React结合使用的帖子,方法是将IantiForgery注入cshtml,然后使用AJAX根据请求提交令牌,如此处所示:https://github.com/reactjs/React.NET/issues/363。到目前为止,我还没有发现任何可以回答我的特定问题的东西,因此如果我错过了某个地方,我深表歉意。我正在Windows 10上的VS2017中使用ASP.NET MVC5和React.Web.MVC4 nuget包进行开发。
使用@Html.AntiForgeryToken().ToHtmlString()
将该元素作为react对象的属性传递并使用dangerouslySetInnerHTML
进行渲染是否安全?
这是我的剃刀代码:
@Html.React("Login", new {
antiforgeryToken = Html.AntiForgeryToken().ToString()
})
这是我在render()
部分中的React元素:
<div dangerouslySetInnerHTML={{ __html: this.props.antiforgeryToken }}/>
这样做安全吗?还是应该改用IAntiForgery方法?
编辑:
直到现在我还没有注意到,但是IAntiForgery的示例似乎仅适用于ASP.NET CORE,而不适用于MVC。