将AntiCSRF与ajax一起使用

| 我已经安装了AntiCSRF HTTPModule,但是我需要将其与ajax一起使用。 令牌字段名称:RaiseException。   CookieName:__CSRFCOOKIE。 我应该使用ajax POST手动发送令牌字段值还是要做其他事情? 而且由于我们在这里使用cookie,所以任何人都无法创建具有相同名称和值的cookie并将隐藏文件中显示的值发送到服务器并获取数据,或者对此有一些限制吗? 谢谢     
已邀请:
我对您使用的特定反CSRF模块不熟悉。 ASP.Net中内置了反CSRF支持,但与AJAX斗争。 大多数站点使用安全的仅HTTP cookie进行身份验证。所有浏览器都支持相同的原始策略,这意味着只有创建Cookie的网站才能访问它。 CSRF攻击之所以起作用,是因为该黑客无需查看Cookie,因为用户的浏览器会将其连同任何请求一起发送到您的站点。因此,黑客创建了一个将数据发送到您的站点的表单:
<form action=\"yoursite.com/userAdmin/Create\">
    <input type=\"text\" name=\"username\" value=\"hackerUser\" />
    <input type=\"text\" name=\"rights\" value=\"godlike\" />
    ...
</form>
黑客不是您网站上的管理员,但他们可以欺骗正在为他们做事的用户。 大多数反CSRF保护的工作方式相同:通过要求POST版本的表单数据具有站点可以访问但黑客无法欺骗的附加令牌。 因此,.Net的默认实现会添加一个带有令牌的cookie,该令牌在隐藏的输入中是相同的令牌,然后检查它们是否匹配。黑客看不到Cookie,因此无法重现隐藏的输入。 对于AJAX调用,这是一个问题,其原因有两个: .Net将令牌生成为隐藏的输入标签,这意味着需要一些Java脚本才能将其导入AJAX调用。 .Net \对令牌的检查假定它是表单输入,这意味着JSON调用以错误的格式传递它。 听起来您需要做的是手动将令牌的字段名称的值添加到AJAX调用中,并确保您要发送表单数据。     

要回复问题请先登录注册