当前位置: 首页 > 面试题库 >

通过AJAX的ASP.net MVC AntiForgeryToken

濮俭
2023-03-14
问题内容

我目前正在ASP.net中开发MVC应用程序。我正在使用AJAX.ActionLink在记录列表中提供删除链接,但是这是非常不安全的。我把这个:

<AcceptVerbs(HttpVerbs.Post)>

在函数上执行删除操作,这将阻止仅通过URL调用函数。但是,仍然存在的另一个安全漏洞是,如果我要制作具有以下内容的基本html页面:

<form action="http://foo.com/user/delete/260" method="post">
<input type="submit" />
</form>

仍然会在不同的位置执行帖子。

可以将AntiForgeryToken与AJAX ActionLink一起使用吗?如果是这样,这是一种安全的方法吗?我还没有意识到更多的安全漏洞吗?


问题答案:

我不特别了解AJAX ActionLink,但是可以从WebForms页面发布到具有[AcceptVerbs(HttpVerbs.Post), ValidateAntiForgeryToken]属性的MVC操作。

您可以使用反射来获取用于设置Cookie的MVC方法和用于MVC验证的匹配表单输入。



 类似资料:
  • 问题内容: 如何通过 HTTPS* 发送ajax GET 请求? * 抛出这个: 是否有其他方法或解决方法可以使此工作正常进行? 如果我使用 Chrome 浏览到该网址,则可以得到响应。我认为没有理由为什么它不能在ajax请求上正常工作。 问题答案: 如果您由于当前处于 同一来源策略 而无法访问该页面,则无法向该页面发出AJAX请求。 **** 的 主机 , 端口 和 方案 (协议)必须在为了使A

  • 问题内容: 我正在尝试捕获ajax请求的进度。 它没有按预期工作。据我所知,id为 progressProdCounter的 Div 应该在其中包含%的内容,但在我的情况下什么也没有发生。有帮助吗? __ 在我看来,这是行不通的 HTML: JS: 问题答案: ProgressEvent.lengthComputable ProgressEvent.lengthComputable只读属性是一个布

  • 问题内容: 我正在这样发出Ajax请求: 在服务器端,我完成了一些如下代码: Ajax POST可以正常工作。我可以在mozilla的Web开发人员工具中看到,但是页面没有像我想象的那样重定向到其他页面。谁能告诉我我做错了什么? 还是无法通过Ajax 打电话? 问题答案: 是的,据我所知,您不能简单地从客户端检测重定向。 您可以做的一件事就是如何返回指示从服务器端代码进行重定向的内容。类似于以下J

  • 问题内容: 我似乎在发出请求以及保持数组中数据完整性方面遇到一些问题。 给出以下代码段: 我捕获给定页面上所有背景图像的URL。现在,尝试通过请求获取每个图像的大小,我使用以下代码段: 但是,当我通过via 转储时,每个元素(应该是包含URL和content- length的数组)最终都以上次请求的大小始终在哪里 我很困惑,尽管这似乎是一个时间/范围问题。我这里有某种竞赛条件吗? 问题答案: 问题

  • 问题内容: 好的,所以我对ajax和从外部加载内容还很陌生,希望对我的问题有任何见解。 我目前有一个隐藏的div,它是空的,单击链接后应该在其中加载ajax内容。 我目前有一个链接列表,所有链接都具有相同的类,并且我想在单击空白div时进行幻灯片切换,然后从链接要访问的页面中加载内容。 链接: 当前的jQuery: 刚接触Ajax并加载外部内容时,我想知道如何从位于标签中的链接页面加载内容。因此,

  • 问题内容: 我有一个内置的javascript,它可以执行以下操作:通过ajax-> php-> sql获取内容,并在单击内容后在index.php上显示它,将显示新内容。 现在,我想拥有一个在将内容单击到php之后发送数据的函数,该函数将在db中执行某些操作。如何创建将发送数据的功能?谢谢! 这是我的显示内容的代码: }); }` 问题答案: 您可以通过在jQuery.ajax 设置中包含值,将