C# mongodb ObjectId 使用风险

本文关键字:mongodb ObjectId | 更新日期: 2023-09-27 18:35:24

我在Mongodb ObjectId对象上观看。向我的客户端公开它似乎是不安全的对象(甚至是他自己的 SessionId)。虽然我使用以下代码来生成随机对象ID:

var timestamp = DateTime.UtcNow;
        var machine = _random.Next(10000, 75757575);
        var pid = (short)_random.Next(10000, 75757575);
        var increment = _random.Next(10000, 75757575);
        return new ObjectId(timestamp, machine, pid, increment);

有时会得到连续的id,我不希望用户能够猜出100万个id并最终捕获一个真实的id。

有没有办法在 c# 上仍然使用 mongodb 并保持安全 ID?现在,有人说"使用https",但这不是问题所在。有人可以登录网络,获取ObjectId类型的sessionId并尝试猜测。

我怎样才能减少发生类似事情的可能性?

C# mongodb ObjectId 使用风险

如果数据库中存储了任何敏感信息,则应在应用程序中应用一些 ACL 规则,以确定用户是否可以通过 objectId 检索数据。