gpt4 book ai didi

sql-server - 使用 int 作为主键是否存在安全风险?

转载 作者:行者123 更新时间:2023-12-02 00:56:34 27 4
gpt4 key购买 nike

我已经阅读了很多关于“int vs GUID for primary key”问题的文章,并且可以看到,如果您使用顺序 GUID,则无需过多担心性能。

我的老板想要使用 GUID 的原因是他觉得它更安全。我们将所有参数加密到一个 MVC 调用中,所以我不确定我是否看到了问题,但他的主要论点是,使用一个 key (假设他们可以破解加密),那么很容易猜到下一个 key 。您不能使用 GUID 执行此操作,即使使用伪序列 GUID,例如 COMB (http://csharptest.net/1250/why-guid-primary-keys-are-a-databases-worst-nightmare/)。

但是使用 int 真的那么不安全吗? (我们使用 Triple DES 进行加密。)使 int64 主键“几乎连续”是否有任何里程 - 即它们总是上升但在序列中留下间隙?

如果有人对此有任何安全方面的意见,我将不胜感激。

最佳答案

key 安全是指防止用户访问其他人的项目。如果你在 url 中使用整数,你可以简单地将你的 id 替换为一个接近的。例如,如果您的网址是 http://mysite/someresource/1/,您可以将其替换为 http://mysite/someresource/2/

对于 GUID,这要困难得多,因为它需要更多的尝试才能找到另一个 ID。然而,这就像乐透。你会很幸运。因此它仍然不安全。

唯一安全的方法是每次检查用户是否有权访问所请求的资源。

不知你为什么要加密参数?如果它是为了限制访问它不是很安全。有人仍然可以将它传递给其他人(复制/粘贴),并且其他人可以访问它。社会工程学。

关于sql-server - 使用 int 作为主键是否存在安全风险?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34316180/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com