Node.js中具有唯一随机令牌的URL

对于我的项目,我希望用户在到达网站时将其redirect到自己独特的url。

例如,用户转到mydomain.com,他们将被redirect到mydomain.com/xyz123

我有这个工作。 但是我有两个问题:

  1. 随机标记应该有多less个字符 ? (有没有计算代币总量的公式?)
  2. 如何阻止机器人不停地击中网站并占用这些令牌?

谢谢你的帮助。

  1. 这取决于你期望有多less访问者(用户?)。 如果您坚持使用拉丁字母和数字,并且区分大小写,那么每个字符(26 * 2 + 10)就有62种独特的可能性,所以62 ^ n其中n是URL中的字符数。 62 ^ 5是刚刚超过9.16亿应该持续一段时间。
  2. 这很难。 基本上你需要看用户代理string,并确定访问者是否是一个机器人。 如果是的话,不要麻烦redirect他们。 请参阅: 如何使用PHP识别机器人?