gpt4 book ai didi

asp.net-mvc - 用于加密的 MVC AntiForgeryToken 机器 key

转载 作者:行者123 更新时间:2023-12-02 05:01:24 25 4
gpt4 key购买 nike

我了解到:在幕后,MVC AntiForgeryToken 属性使用机器 key 进行加密。如果您未在 web.config 中指定机器 key ,ASP.NET 会自动为您生成一个机器 key 。

如果 ASP.NET 应用程序重新启动(例如执行 iisreset),浏览器 cookie 中的 AntiForgeryToken 仍将使用旧计算 secret 钥进行加密,因此它会因上述错误而崩溃。

我关心的是

在 web.config 中写入机器 key 之前,我想知道应该在哪里查找机器 key 以在 web.config 中复制和粘贴。当我们在本地电脑上进行测试时,我们可以将机器 key 复制并粘贴到 web.config 中,但是当我们将我们的网站托管在共享环境中的 godady 或 ORCSWEB 中时,这些公司可能不会提供我们网站所在电脑的机器 key 主办。所以我需要知道如何处理这种情况。谢谢

编辑

<configuration>
<system.web>
<machineKey
validationKey="21F090935F6E49C2C797F69BBAAD8402ABD2EE0B667A8B44EA7DD4374267A75D7AD972A119482D15A4127461DB1DC347C1A63AE5F1CCFAACFF1B72A7F0A281B"
decryptionKey="ABAA84D7EC4BB56D75D217CECFFB9628809BDB8BF91CFCD64568A145BE59719F"
validation="SHA1"
decryption="AES"
/>

如何分别获取或生成validationKey和decryptionKey?有什么想法吗?

最佳答案

If the ASP.NET application is restarted (e.g. do an iisreset), the AntiForgeryToken within the browser cookie will still be encrypted with an old machine key???

我认为 iisreset 不会改变机器 key 。

您可以自己生成机器 key (验证和解密 key )并在 web.config 中指定它。在执行加密的所有情况下都将使用相同的 key ,例如身份验证票证、AF token 。

很好的介绍link .

更新:

如何生成机器 key ?

有多种方式,这个msdn blog建议使用 IIS,它对我来说看起来更安全,因为正在使用 Microsoft 工具。然而,似乎这个功能只支持到 IIS 7。我在我的盒子 IIS 8.5 上没有找到它。我检查了 IIS 7.5,它也不存在。然而,我在同事盒子上的 IIS 6.1 中发现了它。

第二个选项是使用自定义 key 生成器

a. Machine Key Generator (在线)

b. ASP.NET machineKey Generator (您可以修改的工具)

关于asp.net-mvc - 用于加密的 MVC AntiForgeryToken 机器 key ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25260435/

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