如何为通过电子邮件共享的链接创建失效日期逻辑

时间:2019-05-28 07:05:26

标签: node.js cryptography

我通过电子邮件发送交易ID作为链接,任何人都可以使用此链接搜索我系统中发生的交易的详细信息。我想强制该链接的过期时间,例如,链接应该工作1个月,发布1个月后,链接应该过期。

我正在使用nodejs来实现我的软件。我只想发送交易ID作为创建链接的参数。

我计划结合使用事务ID和expiry_timestamp进行编码/加密,然后将编码/加密的数据作为参数发送到URL中。稍后,当单击链接并接收到服务器的请求时,我应该能够检索expiry_timestamp并将其与当前数据进行比较,然后决定继续还是不继续。在这里,如果Iam以明文形式发送时间戳,则用户可能会更改时间戳和请求,因此我打算对其进行编码或加密。

请提出一些用于实现此目的的加密技术。 预先感谢。

1 个答案:

答案 0 :(得分:0)

您可以按照以下方式进行操作。

  1. 创建另一个列名,例如token
  2. 已将到期日期和时间存储在另一列上。
  3. 将令牌作为查询字符串传递给数据库,而不是存储在时间戳中。
  4. 当用户单击链接时,您可以检查是否使用令牌(查询字符串)是否有效

您可以使用此(https://www.npmjs.com/package/rand-token)包来生成令牌。