在 MVC 5 解决方案下,AntiForgeryToken 出现在我的表单上。 它运作良好。 但是我的客户有一些引用网站,例如,如果我的域是 www.mysite.com,他们的 URL 是 www.mysite.blabla.com.
如果用户打开正常的网站,它运行良好,但如果他打开 www.mysite.blabla.com 并制作 SUBMIT (POST) 表单,我会收到错误 The required anti-forgery cookie "__RequestVerificationToken "不存在。
在 elmah 日志中我看到下一个值
HTTP_HOST www.mysite.com
HTTP_REFERER http://www.mysite.blabla.com/
HTTP_X_FORWARDED_HOST www.mysite.blabla.com
HTTP_X_FORWARDED_SERVER www.mysite.blabla.com
SERVER_NAME www.mysite.com
我需要允许在这个域上使用我的作品。 是否可以设置 Anto-Forgety Token 以允许对该域的请求? 或者它只是一个解决方案:删除
@Html.AntiForgeryToken()
最佳答案
AnitForgeryToken 的目标是防止其他站点发布您的操作。这是预期的行为。它可以防止跨站点请求伪造攻击。
如果他们想链接过来,应该使用标准的 GET 请求。
关于c# - 如何解决引用网站的请求验证 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26263371/