gpt4 book ai didi

c# - 每个请求的 AntiForgeryToken 更改

转载 作者:太空狗 更新时间:2023-10-29 19:41:27 27 4
gpt4 key购买 nike

我正在使用 AntiForgeryToken 辅助方法。据我了解,AntiForgeryToken 是基于 session 的,因此每个用户都具有相同的 token ,但另一个用户将具有不同的 token (前提是您对所有表单使用相同的盐)。我的“问题”是 AntiForgeryToken 使用相同的盐为同一用户生成不同的 token 。例如……

Controller

public ActionResult Test()
{
return View();
}

查看

@using (Html.BeginForm())
{
@Html.AntiForgeryToken("Salty!")
}

输出请求#1

<input name="__RequestVerificationToken" type="hidden" value="K1sijFuYvyGUJjGg33OnLjJaU3tFpGFDutRt9TOFSkZ6FcrhJMMQPnOqjIHuTwBXs/sPBXEiE+1qyV9l63nnSO161b+OtLbaBoPC7K3/7wxtnuSY+N0o/fqBgVoDyac4dNVp+OvanKBSrHINKfc3WEg9269BHOJNzFowC6Aeac/afAGTGrBypxUHfqrKVowD" />

输出请求#2

<input name="__RequestVerificationToken" type="hidden" value="mOpP6LMQXnCmjr5/Wdtnhguh3PyZxWj7GWf8LYzZXPKcJBBT+DbAHvynquSD65O0DBw1RKR7DxCNg372ukftCOWms+o75CraMyFMnvjGk7RU+znIQm05eRQvr5H6d/MDyn+0DWm3jLnMBM9GplsgMRqbdAHzSe69/cS2x9A4X/9jFTZQHUWXXHUr0xewF8Rk" />

对于具有相同盐的相同 session , key 是不同的。我对 CRSF 保护有根本性的误解吗?或者这是一项新功能?

最佳答案

反 XSRF token 通过将相同的随机值加密到 session cookie 和您的表单中来工作。 session cookie 仅在您使用您生成的表单发帖时提交。

这种方法也适用,例如在所有服务器共享加密 key 的服务器场(在负载平衡方案中)上。验证仅通过比较来自发布的表单数据的解密值和来自发布的 session cookie 的解密值来工作。这称为 double submitted cookie方法。

因此,每个请求获得不同的值是很正常的。 This is a nice post关于 ASP.NET MVC XSRF token 。

关于c# - 每个请求的 AntiForgeryToken 更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11313804/

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