使用uniqueidentifier为主键更安全吗?

时间:2011-10-05 17:24:12

标签: sql security web-applications ssl

我正在为我的网络应用程序使用SSL。使用uniqueidentifier作为敏感数据的主键会增加任何额外的安全性,还是只会减慢速度?

3 个答案:

答案 0 :(得分:4)

也许,就像纸板锁比纸锁一样安全。

如果您通过默默无闻地使用安全性,那么唯一阻止他人看到他们不应该知道的东西的是他们不知道主键值,那么是的。它增加了一些安全性。

尽管如此,您的努力将更好地应用于通过肯定手段锁定数据,而不是依赖用户而不是猜测ID。默默无闻的安全特别容易受到嗅探攻击。

答案 1 :(得分:2)

如果您想知道是否使用int vs GUID作为PK,Jeff Atwood有一篇关于这个主题的博客文章可能对您有所帮助。

http://www.codinghorror.com/blog/2007/03/primary-keys-ids-versus-guids.html

正如David所说,为了便于阅读,整数键比URL更好。特别是如果您认为某人将发布或链接到帖子或个人资料。 www.site.com/users/233 www.site.com/users/C87FC84A-EE47-47EE-842C-29E969AC5131 <更容易阅读/打字/ p>

但它确实不会增加很多“安全”的好处。

答案 2 :(得分:1)

如果您正在谈论网址中可见的内容,那么我会说“是的,这是更好”。

我说的原因是手动操作网址非常容易,只需要一个整数值,你可以轻松地改变它,看看你得到了什么。使用此方法获取有效的uniqueidentifier的可能性较小。

也就是说,可以预测独特的标识符,我相信自动化系统可以破解它。你会增加一定程度的复杂性,使你的网站成为一个不太吸引人的目标,但它不是一个完整的解决方案。

有关详细信息,请参阅:http://www.google.com/search?q=direct+object+reference&sourceid=ie7&rls=com.microsoft:en-us:IE-Address&ie=&oe=

恕我直言,增加复杂性的权衡是不值得的,除非你所保护的东西真的不是那么有价值。