如何在不使用用户 ID 的情况下为用户定义唯一的 URL?
How can I define a unique URL for a user without using their ID?
大家晚上好,所以我想知道jsfiddle.net如何将页面内容保存在唯一url中?例如:jsfiddle.net/u5jm5jq8。我想知道如何使用 javascript 执行此操作。因为您不一定要登录才能保存和生成唯一的 url.
这称为 散列 ID,这是一种唯一标识符,通常由数据库中实体的主键等唯一属性生成。哈希 ID 通常比由加密哈希算法(如 MD5 或 SHA-256)创建的典型哈希短,并且与这些不同,哈希 ID 通常 可逆 ,这意味着我们可以解码原始值。它们减少了应用程序内部实现的暴露,从而提高了安全性。
查看 hashids.org。此站点提供各种编程语言的实现。
除非您有充分的理由不这样做,否则请避免在客户端中生成哈希 ID。通过在服务器上创建哈希 ID,您可以保证 ID 是唯一的,并且与您的应用程序通过任何机制存储数据所使用的标识符一致。
编辑评论 - 以下是您在 URL 中使用哈希 ID 时可能遵循的过程:
假设我们使用哈希 ID 为用户配置文件创建 links。当我们生成包含配置文件 link 的页面时,我们的应用程序将:
- 将用户 ID(例如
5
)转换为哈希 ID(例如 3ac4jx60
)
- 显示带有 link 的页面
http://example.com/user/3ac4jx60
如果站点访问者单击 link,应用程序将收到请求并且:
- 解码URL中的hash ID得到用户ID(
3ac4jx60
→5
)
- 使用用户 ID 获取适当的记录并显示用户的个人资料
大家晚上好,所以我想知道jsfiddle.net如何将页面内容保存在唯一url中?例如:jsfiddle.net/u5jm5jq8。我想知道如何使用 javascript 执行此操作。因为您不一定要登录才能保存和生成唯一的 url.
这称为 散列 ID,这是一种唯一标识符,通常由数据库中实体的主键等唯一属性生成。哈希 ID 通常比由加密哈希算法(如 MD5 或 SHA-256)创建的典型哈希短,并且与这些不同,哈希 ID 通常 可逆 ,这意味着我们可以解码原始值。它们减少了应用程序内部实现的暴露,从而提高了安全性。
查看 hashids.org。此站点提供各种编程语言的实现。
除非您有充分的理由不这样做,否则请避免在客户端中生成哈希 ID。通过在服务器上创建哈希 ID,您可以保证 ID 是唯一的,并且与您的应用程序通过任何机制存储数据所使用的标识符一致。
编辑评论 - 以下是您在 URL 中使用哈希 ID 时可能遵循的过程:
假设我们使用哈希 ID 为用户配置文件创建 links。当我们生成包含配置文件 link 的页面时,我们的应用程序将:
- 将用户 ID(例如
5
)转换为哈希 ID(例如3ac4jx60
) - 显示带有 link 的页面
http://example.com/user/3ac4jx60
如果站点访问者单击 link,应用程序将收到请求并且:
- 解码URL中的hash ID得到用户ID(
3ac4jx60
→5
) - 使用用户 ID 获取适当的记录并显示用户的个人资料