0

我正在开发一个 Web 应用程序,我需要在其中使用标识符来识别某个页面。

通常我会使用自动增量整数,它与数据库中项目的 ID 有关。

例如: http ://example.com/item/1

但我看到越来越多地使用这样的标识(TinyUrl 和 YouTube): http ://example.com/item/1BHYQJh1

我想知道,我应该选择这个解决方案吗?

有什么好处,如果你得到一个非常长的整数,它是否只是为了缩短 ID?

还是要“破解”解决方案,以便人们无法通过将 1 替换为 2 来“猜测”网址。

我真的很感谢最后一个,我想为我的应用程序添加这个额外的安全性。但是有没有人知道有什么代码片段可以做到这一点?

C# 中的示例会很棒。

4

2 回答 2

1

这不是一个真正的编程问题,但是......

我更喜欢“漂亮”的 URL,而且我并不孤单,对我来说,普通数字比 1BHY 更好......,但 YMMV。

您提到的“猜测”与此无关。如果允许用户访问 /2 则没关系。如果他不被允许,那么基于模糊 URL 的安全性是一个糟糕的选择。如果有人输入错误的值并偶然发现不适合他的页面怎么办。

如果您需要安全,您需要检查当前用户是否被允许访问指定 URL 的页面并采取相应措施。

我不明白“C# 中的示例”是什么意思。这些是 URL,它们不是用 C# 表示的。

于 2012-09-19T09:33:07.677 回答
0

您可以使用 Guid.NewGuid() 创建一个“唯一”标识符

GUID 是否 100% 都是唯一的?

于 2012-09-19T10:02:07.073 回答