【发布时间】:2009-03-01 09:15:31
【问题描述】:
我想生成一个安全的一键访问类型的 URL,类似于下面的示例。我将使用 PHP,但这无关紧要,因为我只是想了解基本概念。一些答案建议使用 GUID,但我认为这不会给我一个绝对独特、安全的 URL,如下所示。
# Google Calendar
3qq6jlu04ptlhmb9fencsu5t2k
# Private
3qq6jlu04ptlhmb9fencsu5t2k
# Private 'token'
163a0afe7fkb1ba2acd04c11ef0eefe8
# LogMeIn
# 1024 bit - 128 Character URL
72oxuj0fzefqo3fu04xjtvmd0adj2948rfh7g5by4forkwcy7t651z7hcb6kjjgqkxmvmfqpyrcfy15z1fto8ewcxstjc6avicag7d5qnoimsm19kb9kgi9i7v6z01d5
我倾向于使用 128 个字符、1024 位样式,因为它看起来非常安全。我想我可以制作四个 MD5 哈希并将它们合并,但这真的有效吗?
对于这样的网址,我有两个特定的意图,但我相信还有其他人可能会觉得这很有用。
1) 用户即时登录快捷方式/图标
2) 一次性网址(密码恢复链接)
【问题讨论】:
-
...为什么?不,说真的,你为什么想要这样的 URL?听起来您正在尝试重新发明会话密钥;没有更多上下文,很难帮助您找到正确的解决方案。
-
我想这是被标记为安全的,因为这些类型的 url 通常用于立即登录用户或重置他们的密码。它们与会话密钥不同,因为它们通常只能用于单个操作一次,而不是像会话 ID 那样可能会持续数周。
-
我对这样的 url 有两个特定的意图,1) 用户的即时登录快捷方式/图标 2) 一次性 url(密码恢复链接)
-
为什么不使用 cookie 进行即时登录?第二个是有道理的。