gpt4 book ai didi

c# - 使用 AntiForgeryToken 和缓存页面

转载 作者:太空宇宙 更新时间:2023-11-03 23:47:37 25 4
gpt4 key购买 nike

在我部署一些在测试中似乎有效的代码之前,使用 AntiForgeryToken 是否存在任何问题?部署到 Azure WebRole 时。因为它生成一些 html 和 cookie,所以我担心以下...

页面由 MVC 缓存进行缓存。防伪 token 的 cookie 会在后续的页面请求中重新发出吗?

该页面正在多个实例上的 Azure Webrole 中运行。如果接收服务器不是生成该页面的服务器,是否会出现任何问题?

这些表单来自于数据库中保存的一堆 html。因此,我们建议有效地进行字符串替换以查找简单的 token 并交换防伪 token 。 (下面的代码)这似乎有效,但让我担心。

        var xtoken = "<!--AntiForgeryToken-->";
if (content.Contains(xtoken))
{
var token = HttpUtility.HtmlDecode(html.AntiForgeryToken().ToHtmlString());
content = content.Replace(xtoken, token);
}

return html.Raw(content)

上述会产生任何问题吗?

最佳答案

您无法在带有 AntiForgeryToken() token 的页面上使用缓存 - see this .

The page is running in an Azure Webrole on multiple servers

如果您的意思是 WebRole 在多个实例上运行,那应该不是问题,因为默认情况下 Azure 将处理 MachineKey ( see here )

但是在部署(重新部署)之后你可能会遇到问题,因为Azure will override MachineKey

关于c# - 使用 AntiForgeryToken 和缓存页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27101834/

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