1

(ASP.NET MVC 4.5) 假设您有一个银行或公司模型,其 ID 是敏感信息,例如帐号或其他一些个人识别信息。在不将此信息放在 URL 中的情况下,路由编辑/显示操作的最佳方式是什么,或者至少是一些策略是什么。

显然这会很糟糕:

https://goliath-natinal.com/Accounts/Edit/954321

如果 954321 是您的银行帐号。

我想这样做的一种方法是为每个充当代理键的帐户添加一个 GUID。但是我很想知道如果您根本无法更改数据库,是否有可能做某事。

4

1 回答 1

1

只是在这里抛出一些想法......

您可以使用 Rijndael 或其他类型的加密来加密您的标识符。您可以根据与帐户相关的其他识别字段对其进行加盐和哈希处理。您可以即时执行此操作。不过,您会受到处理的影响。

如果您使用的是 memcache 或 azure 缓存,您可以创建一个帐户到 guid 的映射,然后将其放在缓存中。如果允许,您可以在数据库中创建一个单独的映射表,将帐户映射到新的 guid。

您能否提供有关完整限制的更多信息?IE 表是限制更改还是整个数据库?你能创建一个新的数据库吗?

于 2013-02-01T20:48:23.997 回答