保护 ASP.NET MVC 操作参数



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

显然这会很糟糕:

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

如果954321是您的银行帐号。

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

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

您可以使用 Rijndael 或其他类型的加密来加密您的标识符。您可以根据与帐户相关的其他标识字段对其进行加盐和哈希处理。你可以即时完成。不过,您会受到处理上的打击。

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

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

相关内容

  • 没有找到相关文章

最新更新