c# - 如何在 ASP .NET MVC 5.1 Web 应用程序的 Entity Framework 中使用散列 ID 以避免指向数据库中记录的可预测链接

标签 c# asp.net-mvc entity-framework asp.net-mvc-5.1

我有模型类:

 public class Person {
        public int Id { get; set; }
  ...
 }

并查看有关某个人的详细信息,用户可以猜出其 ID

http://localhost:17697/Person/Details/2

它们只是连续的整数。

我如何告诉 Entity Framework 打乱这些 ID 以使它们更难被猜测?

最佳答案

如果您不想要可预测的 ID,则可以使用 Guid 而不是 int。 “改组”会使过程过于复杂,并且不会为您提供任何保护。

请记住,如果您尝试保护 url,请使用授权和过滤器编写适当的安全措施。默默无闻的安全性实际上并不能保护任何东西

关于c# - 如何在 ASP .NET MVC 5.1 Web 应用程序的 Entity Framework 中使用散列 ID 以避免指向数据库中记录的可预测链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25853863/

相关文章:

c# - 在 C# 中设置十进制数的精度

c# - 处理异常和。首先防止它们发生 - C#

C# .NET 4.6.1 Entity Framework - 尽管未调用 DB.SaveChanges(),DB.MyTable.Add(...) 仍然很慢

c# - 努力-伪造数据库时FirstOrDefault返回null

entity-framework - 如何在 Seed 中通过 AddOrUpdate 方法插入身份

c# - 是否有必要使用 log4net 为 ASP.NET MVC 实现异步日志记录?

c# - .NET Windows 服务在 ntdll.dll 中崩溃

ASP.NET TempData 即使在阅读后也不会被清除

asp.net - 从 ASP.NET MVC 操作发送 HTTP 404 响应的正确方法是什么?

javascript - jQuery submit() 没有触发