gpt4 book ai didi

c# - 隐藏查询字符串 MVC3 -ASP.NET

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

我将 Vaues 存储在 RouteData 中,如下所示。

new RouteValueDictionary(new { Controller = "Absence", Action = "AmendAbsence", Id = PersonGuidSelected })

我使用以下 RouteData.Values["id"].ToString()

从 RouteData 获取值

这没问题,但是这些值在 URL 中可见。我不希望在 URL 中看到这些值。

我该怎么做?

以前有人这样做过吗?

最佳答案

您可以将其加密存储在 URL 中;只需加密每个 Querystring 参数即可。这样做的好处是您的用户可以使用参数为页面添加书签(除非这不是您想要的;然后您可以将过期时间添加到加密值中,以便您可以检测 URL 是否已经过期)。

选项 #2 是存储您的值,如果您需要在客户端的加密的非持久性 cookie 中将它们从页面浏览保存到页面浏览。您希望它们被加密,以便无法从浏览器的内存中读取它们,并且您希望它们是非持久性的,这样它们就不会保存到文件中。用户无法将 URL 添加为书签。

选项 #3 的可扩展性最低,即将其存储在 session 状态 在您的 ASP.NET 服务器或状态服务器上。任何一台服务器都不应该容易受到攻击,因此没有必要在这里使用加密。但是,如果您的服务器速度很慢和/或您有很多访问者,这可能会降低机器的速度。同样,访问者无法将 URL 加入书签,因为参数未存储在那里。

选项 #4 是在 URL 中存储哈希键,并将与该哈希键相关的实际数据存储在内存或数据库中。同样,您必须看看这对您的情况是否可行。用户可能会或可能不会为 URL 添加书签,这是您的选择 - 如果他们可以,那么您将需要保留(散列键、值)对的永久记录。

关于c# - 隐藏查询字符串 MVC3 -ASP.NET,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6412192/

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