gpt4 book ai didi

c# - ValidateAntiForgeryToken 是否使用 POST 自动实现?

转载 作者:太空宇宙 更新时间:2023-11-03 22:56:07 27 4
gpt4 key购买 nike

我读到 POST 被认为是安全的,GET 不安全,我们应该在每个 Controller 的每个操作中实现 [ValidateAntiForgeryToken]。

问题是:使用[POST]时需要使用[ValidateAntiForgeryToken]数据注解吗?

最佳答案

默认关闭。
这是有充分理由的。并非每个 POST 都必须来自表单(尤其是因为您的问题被标记为 asp.net-core )

你应该用 [ValidateAntiForgeryToken] 装饰你的 Controller Action

[ValidateAntiForgeryToken]
public IActionResult Post(Model model)
{
// ... etc
}

如果您使用表单标签助手,它会自动为您添加防伪标记到 <form> 中。标记。

生成的标记类似于:

<form action="/MyController" method="post">
<input name="__RequestVerificationToken" type="hidden" value="fhTFfhkKNsdfhYazFtN6c4YbZAmsEwG0srqlUqqloi/OIJOIJoijojhishg" />
<!-- rest of form here -->
</form>

注意:您也可以手动启用/禁用 __RequestVerificationToken使用表单助手标签生成:

<form
asp-controller="MyController"
asp-action="MyAction"
asp-antiforgery="false"
method="post">

关于c# - ValidateAntiForgeryToken 是否使用 POST 自动实现?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45305669/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com