我有一个网络应用程序,它将对象存储在数据库中,然后根据对这些对象的更改发送电子邮件。为了调试和跟踪,我正在考虑在电子邮件元数据中包含文档 ID。这里有安全风险吗?我可以加密它(AES-256)。
一般来说,我意识到通过默默无闻的安全性不是好的做法,但我想知道我是否仍然应该小心使用文档 ID。
为清楚起见,我使用的是 CouchDB,但我认为这通常适用于数据库。
我有一个网络应用程序,它将对象存储在数据库中,然后根据对这些对象的更改发送电子邮件。为了调试和跟踪,我正在考虑在电子邮件元数据中包含文档 ID。这里有安全风险吗?我可以加密它(AES-256)。
一般来说,我意识到通过默默无闻的安全性不是好的做法,但我想知道我是否仍然应该小心使用文档 ID。
为清楚起见,我使用的是 CouchDB,但我认为这通常适用于数据库。
默认情况下,CouchDB 使用带有 UTC 时间前缀的 UUID。您可以泄露的最糟糕的情况是文档的创建时间,您将能够关联可能在同一台机器上生成的大约 1k 个 ID。
您可以在 CouchDB 配置中将其更改为使用纯 128 位随机 UUID,方法是将部分中的algorithm
设置设置为. 有关更多信息,请参阅CouchDB 文档。不应该从他们那里得到任何东西。uuids
random
编辑:如果你选择自己的文档 ID,当然,你会泄露你放在那里的任何东西 :)
比较便利性和安全性:
方便:
安全: