“私人”公共网址的最佳做法是什么?

时间:2009-03-11 16:13:34

标签: web-services url private access-control

生成可公开访问但通过辅助渠道共享的网址的最佳做法是什么,以便它实际上对共享该网站的群组是私有的?

类似的东西:

http://example.com/club/XX-XX-XX-XX
http://example.com/club/YY-YY-YY-YY

XX-XX-XX-XX在一组中共享,而YY-YY-YY-YY由另一组共享。如果您有一个有效的代码,那么猜测其他有效代码应该不容易。

网址不需要其他安全措施。

6 个答案:

答案 0 :(得分:3)

GUID始终是唯一ID的不错选择,并且非常容易生成(但看起来很难看)

答案 1 :(得分:0)

考虑使用Amazon S3,它们具有有时间限制的公开URL。

答案 2 :(得分:0)

我建议生成一个UUID。如果你的后端是Java,你可以使用Java的java.util.UUID和URLEncode /解码它的文本表示。如果你使用的是ASP.NET,我肯定在.NET中有相同的功能。

答案 3 :(得分:0)

要生成URL的路径部分,请使用某种形式的哈希(SHA1会这样做)。当然是随机的。 chmod文件所在的目录为711(rwx--x--x

答案 4 :(得分:0)

随机的字母数字字符序列可以完成这项工作。在26个小写字母,26个大写字母和10个重复十几个字母中选择的字符应该足以满足您的需要。

答案 5 :(得分:0)

你在复杂性和可读性(甚至可记忆性)之间进行权衡。 GUID提供了一个“独特”的代码,如前所述,代码很容易生成,但可读性和可记忆性都很低。任意拆分的随机字符串也可能提供解决方案。最后,随机选择的英语单词将更容易记忆和沟通,并可能仍然提供相同级别的隔离和保护。

毕竟,除非您的用户特别勤奋并禁用地址历史记录和浏览器历史记录,否则所有人都可以看到该网址,以便随后访问该计算机。