【问题标题】:Why use random strings for filenames instead of logical names?为什么使用随机字符串作为文件名而不是逻辑名?
【发布时间】:2015-09-05 23:29:42
【问题描述】:

我在 Facebook 或 Twitter 等网站上看到,个人资料图片等图像具有文件名和位置,例如 640122062739084800/BXK8aBbv.jpg

这很清楚地生成了。但是网站为什么要这样做呢?为什么不用(user_id)/image.jpg 而不是更合乎逻辑?

是否存在安全风险或其他原因?谢谢。

【问题讨论】:

  • 请考虑user_id 可能包含正斜杠。或者实际上任何其他在主机系统的路径名中无效的字符,或者因为您可能在另一个操作系统上查看它,所以任何其他操作系统。

标签: file url filenames


【解决方案1】:

您在 URL 中看到的每个“令牌”背后都有一个脚本。 令牌是一种控制正在发生的事情和时间的安全方式。 有些字符序列是请求的规范,即使你一开始不明白。

简而言之。是的,它通常用于安全目的,但也用于控制和请求规范。

希望有用

【讨论】:

  • 感谢您的回答。因此,如果我要创建一个类似的工具来让用户上传图片,那么应该使用随机生成的令牌作为文件名,然后将其存储在数据库中?
  • 是的,但前提是您认为确实需要这种资源。
  • 如果您认为我的回答对我的声誉增长有帮助,请投票。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-14
  • 2015-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多