c# - 如何解决引用网站的请求验证 token

标签 c# asp.net-mvc redirect antiforgerytoken elmah.mvc

在 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/

相关文章:

c - 将标准输出重定向到文件描述符似乎不起作用,为什么?

redirect - 如何使gridview中的行可点击?

c# - 从服务方法调用中检索返回的复杂对象时出现问题

c# - 从模拟方法返回模拟

c# - 对于 Java 和 C# 来说,什么是好的通信层?

c# - 如何从 ASP.NET MVC 4 网站获取文件和表单值?

java - 通过重定向 URL 的 ElasticSearch REST HTTP 请求

c# - Ninject 的 Httpcontext.Session 始终为 null

asp.net-mvc - 有什么方法可以检测代码中的经典和集成应用程序池?

c# - 为什么我的 MvcHtmlString 内容被转义了?