使用 App Engine 生成随机 URL 和 Python
Generate a random URL with Python using App Engine
我知道在 Whosebug 上围绕这个主题提出和回答了很多问题,但我希望这个问题需要一些额外的信息,因此它本身就有保证 space 或者可能对其他人有用.
我在 App Engine 上有一个 Web 应用程序 运行 使用 Python 我希望能够向用户发送唯一的 URL 并限制其他用户猜测的能力url 基于他们收到的 url。我希望用户无需经过身份验证即可查看与 url.
关联的数据
我的问题是关于创建、检查和存储 url 的最佳方式。一种选择是使用 uuid.uuid4()
并将此值存储在数据模型中以检索信息。我可以使用 uuid.uuid5
并使用数据存储中的 key_value
,我也可以 base64
对每个选项进行编码,或者我可以简单地使用数据存储 key_value
?
无论我选择哪种方法,它是否是唯一的,所以我不需要检查 url 是否已经存在于数据存储区中,或者检查它是否以前已生成是明智的?
最后一个问题是我应该将 url 存储在数据存储中还是使用函数将 url 映射回数据存储中的现有数据。
总结一下:
- 你推荐我使用什么方法来创建 URL 以及为什么
- 检查 url 之前是否已创建
是否谨慎
- 我应该将 URL 存储在数据存储中还是使用函数将其映射回来
谢谢
足够大的随机字符串应该足够好,因为碰撞的可能性很小。我想您也可以使用数据存储中的自动密钥,因为它们保证是唯一的。
如果你按照 1.
我认为没有必要这样做
我会在数据存储中创建一个实体,将 url 映射到您想要提供的服务,而不是通过哈希函数。这样您就可以更好地控制要创建的对象 public 以及要保密的对象。如果您看到 url 变为 public,您将能够轻松更改它。
如果您要在云存储上提供服务,您可以尝试签名 URL1。
我知道在 Whosebug 上围绕这个主题提出和回答了很多问题,但我希望这个问题需要一些额外的信息,因此它本身就有保证 space 或者可能对其他人有用.
我在 App Engine 上有一个 Web 应用程序 运行 使用 Python 我希望能够向用户发送唯一的 URL 并限制其他用户猜测的能力url 基于他们收到的 url。我希望用户无需经过身份验证即可查看与 url.
关联的数据我的问题是关于创建、检查和存储 url 的最佳方式。一种选择是使用 uuid.uuid4()
并将此值存储在数据模型中以检索信息。我可以使用 uuid.uuid5
并使用数据存储中的 key_value
,我也可以 base64
对每个选项进行编码,或者我可以简单地使用数据存储 key_value
?
无论我选择哪种方法,它是否是唯一的,所以我不需要检查 url 是否已经存在于数据存储区中,或者检查它是否以前已生成是明智的?
最后一个问题是我应该将 url 存储在数据存储中还是使用函数将 url 映射回数据存储中的现有数据。
总结一下:
- 你推荐我使用什么方法来创建 URL 以及为什么
- 检查 url 之前是否已创建 是否谨慎
- 我应该将 URL 存储在数据存储中还是使用函数将其映射回来
谢谢
足够大的随机字符串应该足够好,因为碰撞的可能性很小。我想您也可以使用数据存储中的自动密钥,因为它们保证是唯一的。
如果你按照 1.
我认为没有必要这样做
我会在数据存储中创建一个实体,将 url 映射到您想要提供的服务,而不是通过哈希函数。这样您就可以更好地控制要创建的对象 public 以及要保密的对象。如果您看到 url 变为 public,您将能够轻松更改它。
如果您要在云存储上提供服务,您可以尝试签名 URL1。