如何在不使用ID的情况下为用户定义唯一的网址?

时间:2017-09-24 23:42:56

标签: javascript php url hash jsfiddle

晚上好人,所以我想知道jsfiddle.net如何将页面内容保存在一个独特的网址中?例如:jsfiddle.net/u5jm5jq8。我想知道如何用javascript做到这一点。因为您不一定必须登录才能保存并生成唯一的URL。

1 个答案:

答案 0 :(得分:0)

这称为哈希ID ,这是一种唯一标识符,通常根据数据库中实体主键的唯一属性生成。散列ID通常比加密散列算法(如MD5或SHA-256)创建的典型散列短,并且与这些散列ID不同,散列ID通常是可逆,这意味着我们可以解码原始值。它们可以减少应用程序内部实现的风险,从而提高安全性。

结帐hashids.org。该站点提供各种编程语言的实现。

除非您有充分的理由不这样做,否则请避免在客户端生成哈希ID。通过在服务器上创建哈希ID,您可以保证ID是唯一的,并且与应用程序存储数据的任何机制所使用的标识符一致。

编辑评论 - 以下是您在网址中使用哈希ID时可能遵循的程序:

我们假设我们使用哈希ID来创建指向用户配置文件的链接。当我们生成包含配置文件链接的页面时,我们的应用程序将:

  1. 将用户ID(例如5)转换为哈希ID(例如3ac4jx60
  2. 显示包含http://example.com/user/3ac4jx60
  3. 等链接的页面

    如果网站访问者点击该链接,应用程序将收到请求并:

    1. 解码网址中的哈希ID以获取用户ID(3ac4jx605
    2. 使用用户ID获取相应的记录并显示用户的个人资料