【发布时间】:2018-03-05 20:55:55
【问题描述】:
大家晚上好,所以我想知道 jsfiddle.net 如何将页面内容保存在唯一的 url 中?例如:jsfiddle.net/u5jm5jq8。我想知道如何用 javascript 做到这一点。因为您不一定非要登录才能保存和生成唯一的 url。
【问题讨论】:
标签: javascript php url hash jsfiddle
大家晚上好,所以我想知道 jsfiddle.net 如何将页面内容保存在唯一的 url 中?例如:jsfiddle.net/u5jm5jq8。我想知道如何用 javascript 做到这一点。因为您不一定非要登录才能保存和生成唯一的 url。
【问题讨论】:
标签: javascript php url hash jsfiddle
这被称为 散列 ID,这是一个唯一标识符,通常由一个唯一属性(如数据库中实体的主键)生成。散列 ID 通常比由 MD5 或 SHA-256 等加密散列算法创建的典型散列短,并且与这些不同,散列 ID 通常是可逆的,这意味着我们可以解码原始值。它们减少了应用程序内部实现的暴露,从而提高了安全性。
查看hashids.org。该站点提供各种编程语言的实现。
除非您有充分的理由不这样做,否则请避免在客户端中生成哈希 ID。通过在服务器上创建哈希 ID,您可以保证 ID 是唯一的,并且与应用程序存储数据所使用的任何机制所使用的标识符一致。
编辑评论 - 以下是在 URL 中使用哈希 ID 的过程:
假设我们使用哈希 ID 来创建指向用户配置文件的链接。当我们生成一个包含个人资料链接的页面时,我们的应用程序将:
5)转换为哈希 ID(例如 3ac4jx60)http://example.com/user/3ac4jx60 之类的链接的页面
如果网站访问者点击该链接,应用程序将收到请求并且:
3ac4jx60→5)【讨论】: