首页 > 解决方案 > 跨站点请求伪造 Asp.net 核心 .cshtml 页面

问题描述

我在我的 Web 应用程序上运行了代码质量分析工具 fortify,它在我的编辑和创建 cshtml 页面时警告我“跨站点请求伪造”。

我通过实体框架模型自动生成代码来创建 asp.net core mvc web 应用程序。因此生成的表单对于 crud 操作工作正常。我运行了应用程序,发现在 html 源代码中有一个使用默认自动生成代码生成的隐藏令牌。但是为什么质量工具会抱怨这个安全问题呢?

我尝试了以下但没有运气。我以前在我的 razor mvc 页面中添加了 AntiforgeryToken。不知道如何在 asp.net core mvc 中处理这种情况。我认为它将在不添加任何特定代码的情况下生成自动令牌。

<form asp-action="Edit" class="myForm">
            @Html.AntiForgeryToken()
<-- my form elements -->
</form>

标签: c#asp.net-mvcrazorasp.net-core-mvc

解决方案


尝试添加 method="post"

<form asp-action="Edit" class="myForm" method="post">

推荐阅读