Coldfusion createuuid在集群环境中的安全性如何?

Coldfusion createuuid在集群环境中的安全性如何?,coldfusion,Coldfusion,标题几乎说明了一切。这种情况下,用户上传一个文件,但根据当时的负载情况,他们可能会访问6台服务器中的1台。我们遇到了这样一种情况:用户试图上传名称中带有特殊字符的文件。我们可以编写一个函数来清理文件名,但是我们必须检查新的清理文件名是否不存在。我的想法是使用createuuid重命名文件。如果我没记错的话,我相信createuuid函数使用servername作为算法的一部分,所以如果有什么区别的话,由于有6台服务器,惟一性应该是6倍。我的想法正确吗?如果我没记错,CF使用时间戳+时钟+服务器名

标题几乎说明了一切。这种情况下,用户上传一个文件,但根据当时的负载情况,他们可能会访问6台服务器中的1台。我们遇到了这样一种情况:用户试图上传名称中带有特殊字符的文件。我们可以编写一个函数来清理文件名,但是我们必须检查新的清理文件名是否不存在。我的想法是使用createuuid重命名文件。如果我没记错的话,我相信createuuid函数使用servername作为算法的一部分,所以如果有什么区别的话,由于有6台服务器,惟一性应该是6倍。我的想法正确吗?

如果我没记错,CF使用时间戳+时钟+服务器名


你是否考虑过消毒上传的文件名并只附加UUID?这在我看来似乎是无故障的。

你说得对。我的情况稍有不同,发现cftoken、cfid和gettickcount的组合对于我来说已经足够好了。是的,但是数据库中存储的文件名的长度成了一个问题。数据库是由客户机复制的,因此我们试图尽可能减少对数据库模式的更改。字段的长度是多少?不带破折号的UUID有32个字符,因此您可以很容易地使用leftsanitizedFileName,最大长度为-32。这并不是说我们不能更改它,它只是让事情变得更复杂,更不用说它会给客户带来一些我们不愿意做的痛苦但是,您确实非常重视删除破折号。